android在 6.0中摒棄了之前的install time permissions model
取而代之的是runtime permissions model
,也就是動態許可權管理。
這種改變讓使用者更加容易的控制自己的隱私,好處不言而喻。但是對於程式設計師來說,還是有點小負擔的,增加了一些學習和開發的成本。
android 將系統許可權分成了四個保護等級:
而對於開發而言,關心的只有 普通許可權 和 危險許可權 兩類
其他兩級許可權,為高階許可權,應用擁有platform級別的認證才能申請。
當應用試圖在沒有許可權的情況下做受限操作,應用將被系統殺掉以警示。
所以許可權的控制很重要,乙個不留神,程式就會系統乾掉,後果很嚴重~~
access_location_extra_commands這些許可權是在開發6.0程式時,必須要注意的。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
flashlight
get_package_size
internet
kill_background_processes
modify_audio_settings
nfcread_sync_settings
read_sync_stats
receive_boot_completed
reorder_tasks
request_install_packages
set_time_zone
set_wall*****
set_wall*****_hints
transmit_ir
use_fingerprint
vibrate
wake_lock
write_sync_settings
set_alarm
install_shortcut
這些許可權處理不好,程式可能會直接被系統乾掉。
許可權如下:
許可權組許可權
calendar
read_calendar,write_calendar
camera
camera
contacts
read_contacts,write_contacts,get_accounts
location
access_fine_location,access_coarse_location
microphone
record_audio
phone
read_phone_state,call_phone,read_call_log,write_call_log,add_voicemail,use_sip,process_outgoing_calls
sensors
body_sensors
smssend_sms,receive_sms,read_sms,receive_wap_push,receive_mms
storage
read_external_storage,write_external_storage
我們會發現這些許可權被分成了組。每個組裡面包含了一些相近的許可權。
分組的作用:
這些分組實際上是有一些特殊含義的。
系統在動態賦予權利的時候,是按照組去賦予的。即:
如果允許了某乙個許可權,那麼同組中的其他許可權也會被直接賦予
對於申請時彈出的dialog上面的文字說明也是對整個許可權組的說明,而不是對單個許可權的說明。
注意:網上有很多關於許可權的封裝庫。在真正使用的時候可以在網上找乙個封裝庫來使用,會方便很多。不要對許可權組過多的依賴,盡可能對每個危險許可權都進行正常流程的申請,因為在後期的版本中這個許可權組可能會產生變化。
pan_大寶
。
Android 6 0許可權管理
android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,又新增了執行時許可權動態檢測,以下許可權都需要在執行時判斷 身體感測器 日曆攝像頭 通訊錄地理位置 麥克風 簡訊儲存空間 if contextcompat.checkselfpermission this,m...
Android6 0許可權適配
android6.0許可權適配 1.複寫activity onrequestpermissionsresult override public void onrequestpermissionsresult int requestcode,string permissions,int grantre...
Android 6 0 許可權管理
android 6.0 之後許可權需要動態的獲取,否則是無法正常使用某些功能的。主布局檔案 主要是來模擬動態的獲取許可權,因此布局檔案中無其他多餘內容,其中textview也可以省略。使用3.1 在全域性中 宣告 private static final int request code camer...