国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 程序申請權限注意事項

2019-12-12 05:23:29
字體:
來源:轉載
供稿:網友

為Android 程序申請權限注意

Android系統提供為程序提供了權限申請,即在manifest中使用uses-permission來申請即可.實現起來非常簡單,但是有些問題會隨之浮出水面. 常見的現象是,有時候新加一個權限,(在Google Play上)程序顯示的支持的設備會減少.

為什么權限越多,支持設備越少

因為有些權限隱式地需要feature,即當你顯示使用uses-permission,會默認地為程序加入uses-feature.
而Android以及Google Play判斷是否可以安裝和現實的依據是,設備包含的system features是否完全包含程序申請的全部features. 只有在全部滿足了程序需要的feature的設備上才可以展示并安裝.

如何查看程序使用了哪些features

使用aapt dump badging your_apk_file_path,具體可以參考獲取程序需要的features

如何查看設備具有的features

Android提供了該API,具體參考獲取系統支持的features

舉個例子

我們在程序manifest加入一行申請攝像頭的權限.

<uses-permission android:name="android.permission.CAMERA" />

然后查看程序加入的feature

14:29 $ aapt dump badging PermissionDemo.apk | grep uses-feature

我們就會發現,這兩個權限是新加的

uses-feature:'android.hardware.camera'
uses-feature:'android.hardware.camera.autofocus'

解決問題:如何加權限,不減少支持設備

如果你增加的權限并且及引入的feature不是必須使用的,可以顯示地將該feature設置為不需要.繼續上面的例子.在manifest中加入

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>

重新生成程序.再次查看需要的權限.

14:29 $ aapt dump badging PermissionDemo.apk | grep uses-feature
uses-feature-not-required:'android.hardware.camera.autofocus'
uses-feature-not-required:'android.hardware.camera'
uses-feature:'android.hardware.touchscreen'

就這樣,可以做到增加權限,同時保證支持設備不減少.

Show Me The Code

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.droidyue.demo.permission"  android:versionCode="1"  android:versionName="1.0" >  <uses-permission android:name="android.permission.CAMERA" />  <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> <uses-feature android:name="android.hardware.camera" android:required="false"/>  <uses-sdk    android:minSdkVersion="8"    android:targetSdkVersion="19" />  <application    android:allowBackup="true"    android:icon="@drawable/ic_launcher"    android:label="@string/app_name"    android:theme="@style/AppTheme" >  </application></manifest>

延伸閱讀

http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions

以上就是對Android 程序申請權限的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 左云县| 富顺县| 阆中市| 太原市| 上饶市| 高台县| 孟村| 凤山市| 南郑县| 江城| 石台县| 彭州市| 黄陵县| 中西区| 舟曲县| 得荣县| 湘潭县| 汉沽区| 静宁县| 通许县| 衢州市| 皋兰县| 勃利县| 大石桥市| 青冈县| 田阳县| 古田县| 苍南县| 松潘县| 金乡县| 凤山市| 镇宁| 图木舒克市| 和龙市| 牙克石市| 博爱县| 大港区| 石首市| 佛坪县| 铜川市| 岫岩|