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