1.執行時許可權
android6.0版本以前也就是android sdk版本小於23
android6.0和以上的版本
2.許可權的分類
普通許可權就是不會直接給使用者隱私權帶來風險。如果您的應用在其清單中列出了正常許可權,系統將自動授予該許可權。
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
nfcread_sync_settings
read_sync_stats
receive_boot_completed
reorder_tasks
request_install_packages
set_alarm
set_time_zone
set_wall*****
set_wall*****_hints
transmit_ir
uninstall_shortcut
use_fingerprint
vibrate
wake_lock
write_sync_settings
危險許可權會授予應用訪問使用者的隱私,如果您列出了危險許可權,則使用者必須明確批准您的應用使用這些許可權。這些許可權6.0以後需要手動申請,每乙個許可權組中的許可權只要有乙個許可權同意授權了,整個許可權組中的許可權就不用重複申請了。
group:android.permission-group.contacts
permission:android.permission.write_contacts
permission:android.permission.get_accounts
permission:android.permission.read_contacts
group:android.permission-group.phone
permission:android.permission.read_call_log
permission:android.permission.read_phone_state
permission:android.permission.call_phone
permission:android.permission.write_call_log
permission:android.permission.use_sip
permission:android.permission.process_outgoing_calls
permission:com.android.voicemail.permission.add_voicemail
group:android.permission-group.calendar
permission:android.permission.read_calendar
permission:android.permission.write_calendar
group:android.permission-group.camera
permission:android.permission.camera
group:android.permission-group.sensors
permission:android.permission.body_sensors
group:android.permission-group.location
permission:android.permission.access_fine_location
permission:android.permission.access_coarse_location
group:android.permission-group.storage
permission:android.permission.read_external_storage
permission:android.permission.write_external_storage
group:android.permission-group.microphone
permission:android.permission.record_audio
group:android.permission-group.sms
permission:android.permission.read_sms
permission:android.permission.receive_wap_push
permission:android.permission.receive_mms
permission:android.permission.receive_sms
permission:android.permission.send_sms
permission:android.permission.read_cell_broadcasts
不論是正常許可權和危險許可權我們都要在清單檔案列出來,因系統版本和應用的目標 sdk 級別的不同而有所差異。
對於普通許可權,只要在清單檔案列出來,android的時候就會獲得許可權
如果裝置執行的是 android 5.1 或更低版本,或者應用的目標 sdk 為 22 或更低:如果您在清單中列出了危險許可權,則使用者必須在安裝應用時授予此許可權;如果他們不授予此許可權,系統根本不會安裝應用
。
如果裝置執行的是 android 6.0 或更高版本,或者應用的目標 sdk 為 23 或更高:應用必須在清單中列出許可權,並且它必須在執行時請求其需要的每項危險許可權。使用者可以授予或拒絕每項許可權,且即使使用者拒絕許可權請求,應用仍可以繼續執行有限的功能
。
3.執行時許可權的檢查
當build.version.sdk_int>=23時呼叫contextcompat.checkselfpermission,且targetsdkversion>=23結果才有效,因此在targetsdkversion<23時要用permissionchecker.checkselfpermission。
Android 6 0執行時許可權管理
執行時許可權管理 定義 但是android 6.0以後android m把許可權管理做了加強處理,除了需要在manifest申明,在使用到相關功能時,有些許可權還需重新授權方可使用,所以就把這些需要重新授權方可使用的許可權稱之為執行時許可權 dangerous permission 而在manife...
Android 6 0 執行時許可權處理
android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,又新增了執行時許可權動態檢測,以下許可權都需要在執行時判斷 身體感測器日曆攝像頭通訊錄地理位置麥克風 簡訊儲存空間 android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,...
Android 6 0改動之執行時許可權
android6.0給我們帶來了新的特性和功能,同時也有值得開發者注意的地方 這些改動包括了系統和 api上面。本篇文件有幾個關鍵點的改動需要我們注意。第一,執行時許可權。android6.0 版本接受了新的許可權模型,這個使得使用者現在可以直接在 執行過程中管理 的某些許可權。例如授予和撤銷某個許...