1.代码中使用(如Kotlin中做一个列表)
//TODO 要申请的权限权限(尽量整理成册)
@RequiresApi(Build.VERSION_CODES.KITKAT)
val base_permissions = arrayOf(
//TODO 分组:android.permission-group.CALENDAR
Manifest.permission.CAMERA,//TODO 分组:android.permission-group.CAMERA
//TODO 分组:android.permission-group.CONTACTS
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, //TODO 分组:android.permission-group.LOCATION
Manifest.permission.RECORD_AUDIO, //TODO 分组:android.permission-group.MICROPHONE
Manifest.permission.READ_PHONE_STATE, //TODO 分组:android.permission-group.PHONE
//TODO 分组:android.permission-group.SENSORS
//TODO 分组:android.permission-group.SMS
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE //TODO 分组:android.permission-group.STORAGE
)
2.Manifest文件中使用
<!--以下是,安卓6.0版本,所有不需动态申请的权限-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIMAX_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIMAX_STATE"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
<uses-permission android:name="android.permission.READ_SYNC_STATS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.REORDER_TASKS"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<!--<uses-permission android:name="android.permission.SET_TIME_ZONE"/>-->
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"/>
<uses-permission android:name="android.permission.TRANSMIT_IR"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
<!--安卓6.0以上,虽然可以动态申请权限,但为了防止被坑陷进去,所以也要加入完整之需要动态申请之权限清单
~~~~~~~~
~~~~~~~
~~~~~~
~~~~~
~~~~
~~~
~~
~
-->
<!--android.permission-group.CALENDAR分组
-->
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<!--android.permission-group.CAMERA分组
-->
<uses-permission android:name="android.permission.CAMERA"/>
<!--android.permission-group.CONTACTS分组
-->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<!--android.permission-group.LOCATION分组
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!--android.permission-group.LOCATION分组
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!--android.permission-group.MICROPHONE分组
-->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--android.permission-group.PHONE分组
-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"/>
<uses-permission android:name="android.permission.USE_SIP"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<!--android.permission-group.SENSORS分组
-->
<uses-permission android:name="android.permission.BODY_SENSORS"/>
<!--android.permission-group.SMS分组
-->
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
<uses-permission android:name="android.permission.READ_CELL_BROADCASTS"/>
<!--android.permission-group.STORAGE分组
-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--结束
~
~~
~~~
~~~~-->
<!--蒲公英推荐放置,但我不知道放了有什么用;也没有在以上全部列表里的。-->
<uses-permission android:name="android.permission.GET_TASKS"/>
3.除此之外,尤其需要注意的一点:
8.0以及【PermissionDispatcher】框架,均需要逐个逐个地申请权限。(【PermissionDispatcher】虽然有时候申请一个也会有相应效果,但不填完整也可能会有坑)。
所以: