**:
谷歌官方將許可權分為了兩類,乙個是正常許可權(normal permissions),這類許可權不涉及使用者隱私,是不需要使用者進行授權的,比如訪問網路,手機震動等。還有一類是危險許可權(dangerous permissions),一般是涉及到使用者隱私的,需要使用者進行授權,比如操作sd卡的寫入,相機,錄音等。
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
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
看完官方文件,還好解決方案還不是太難,也不是非常麻煩,當然和以前相比還是有一點繁瑣的。廢話不多說了,解決方案如下。
private
boolean
canmakesmores
()
檢查系統版本的原因,顯而易見,如果是系統6.0及以上的,需要採用新的許可權授權方法。
舉個例子,如果你需要拍照操作,那麼你就應該在拍照操作的地方,先加上許可權申請授權。方式如下:
string perms = ;
int permsrequestcode = 200;
requestpermissions(perms, permsrequestcode);
@override
public
void
onrequestpermissionsresult
(int permsrequestcode, string permissions, int grantresults)
else
break;
}}
通過上面可以看出,只檢查系統版本了,如果授權過的許可權,還需要再次去授權麼?我們的判斷其實可以更完善一下,比如:
private boolean haspermission(string permission)
return
true;
}
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...