Android6 0許可權全解析

2021-07-30 22:26:50 字數 2292 閱讀 4309

android在 6.0中摒棄了之前的install time permissions model取而代之的是runtime permissions model,也就是動態許可權管理。

這種改變讓使用者更加容易的控制自己的隱私,好處不言而喻。但是對於程式設計師來說,還是有點小負擔的,增加了一些學習和開發的成本。

android 將系統許可權分成了四個保護等級:

而對於開發而言,關心的只有 普通許可權 和 危險許可權 兩類

其他兩級許可權,為高階許可權,應用擁有platform級別的認證才能申請。

當應用試圖在沒有許可權的情況下做受限操作,應用將被系統殺掉以警示。

所以許可權的控制很重要,乙個不留神,程式就會系統乾掉,後果很嚴重~~

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

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

這些許可權是在開發6.0程式時,必須要注意的。

這些許可權處理不好,程式可能會直接被系統乾掉。

許可權如下:

許可權組許可權

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...