为什么要在说权限申请的时候,说targetSdkVersion呢!其实是有原因的,因为目标版本的值的修改,对权限的申请检查是有很大的影响!
例如当targetSdkVersion版本小于23(6.0)的时候,其在编译的时候,不会对权限申请去进行判断,只有在运行过程中才会知道。
当targetSdkVersion大于等于23的时候,就会在编译时候检查代码是否有申请权限的判断。也就会有如下提示:
消除这个错误,可以降低targetSdkVersion版本号(<23)或者在具体操作前在进行一次对权限申请的判断即可。(以下代码会有说明)。
说完了targetSdkVersion后,再来说权限申请过程。
权限分为普通权限和危险权限。普通权限在AndroidMainfest中直接申请。
其中所有的普通权限如下:
- ACCESS_LOCATION_EXTRA_COMMANDS
- ACCESS_NETWORK_STATE
- ACCESS_NOTIFICATION_POLICY
- ACCESS_WIFI_STATE
- BLUETOOTH
- BLUETOOTH_ADMIN
- BROADCAST_STICKY
- CHANGE_NETWORK_STATE
- CHANGE_WIFI_MULTICAST_STATE
- CHANGE_WIFI_STATE
- DISABLE_KEYGUARD
- EXPAND_STATUS_BAR
- GET_PACKAGE_SIZE
- INSTALL_SHORTCUT
- INTERNET
- KILL_BACKGROUND_PROCESSES
- MODIFY_AUDIO_SETTINGS
- NFC
- READ_SYNC_SETTINGS
- READ_SYNC_STATS
- RECEIVE_BOOT_COMPLETED
- REORDER_TASKS
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
- REQUEST_INSTALL_PACKAGES
- SET_ALARM
- SET_TIME_ZONE
- SET_WALLPAPER
- SET_WALLPAPER_HINTS
- TRANSMIT_IR
- UNINSTALL_SHORTCUT
- USE_FINGERPRINT
- VIBRATE
- WAKE_LOCK
- WRITE_SYNC_SETTINGS
所有的危险权限:

简单的一个打电话申请权限事例,targetSdkVersion版本在23
以上:在用户同意该权限后,下次进来就不需要在申请权限了,如果拒绝该权限后,如果再次想使用该功能,则又会让用户去申请!
如果有多个权限需要用户去申请,我们可以不必一个一个去申请,学习一下向下面的写法:
所以,还是要注意不同版本的区别

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/154698.html