Android動態許可權獲取總結

2021-09-10 01:53:33 字數 1173 閱讀 5600

自從android6.0之後,很多比較關鍵的許可權被標記為危險許可權,只能通過動態獲取,只在androidmanifest.xml裡面註冊是不起作用的:

危險許可權

許可權組名

許可權名稱

calendar(日曆)

read_calendar write_calendar

camera(相機)

camera

contacts(聯絡人)

read_contacts write_contacts get_accounts

location(位置)

access_fine_location access_coarse_location

calendar(日曆)

read_calendar write_calendar

microphone(麥克風)

record_audio

phone(手機)

read_phone_state call_phone erad_call_log write_call_log add_voicemail use_sip process_outgoing_calls

sensors(感測器)

body_sensors

sms(簡訊)

send_sms receive_sms read_sms receive_wap_push receive_mms

storage(儲存卡)

read_external_storage write_external_storage

以上這些許可權都是需要進行動態獲取的,動態獲取即在執行期間彈出對話方塊讓使用者選擇是否賦予許可權,有些功能如果沒有許可權甚至無法正常使用,如相機等。

申請**如下

private void verifystoragepermissions() ,

request_external_storage);

}}

@override

public void onrequestpermissionsresult(int requestcode, @nonnull string permissions, @nonnull int grantresults) else

break;

}}

android6 0動態獲取許可權

android6.0引入了新的許可權系統,部分許可權需要我們動態的獲取。如果不注意這個改變,會造成我們應用的部分功能無法使用,甚至crash。目前有兩種解決辦法 這種方法雖然能夠臨時解決許可權問題,但是如果使用者在選擇許可權的時候選擇否,容易造成應用crash。2.當我們需要使用動態獲取許可權的功能...

Android動態許可權

請看這裡 tip1 判定是否有許可權 checkselfpermission tip2 如果沒有許可權,彈出dialog給使用者選擇 requestpermission 第二個引數code與onrequestpermissionresult 方法中的code對應 if checkselfpermis...

Android 動態許可權申請

1.android6.0以下系統,只要在mainfest中註冊了,則自動授權,不會彈出許可權詢問的對話方塊。2.android6.0系統,同一組許可權中如果有乙個許可權動態授權,則改組的所有的許可權自動授權 需要先在mainfest中註冊 3.android 8.0系統。在 android 8.0 ...