Android6.0獲取動態權限代碼示例
Android系統對所有的危險權限進行了分組,稱為 權限組 。屬于同一組的危險權限將自動合并授予,用戶授予應用某個權限組的權限,則應用將獲得該權限組下的所有權限(前提是相關權限在 AndroidManifest.xml 中有聲明)。
危險權限 和 權限組 列表如下: 在 AndroidManifest.xml 聲明過的危險權限對應的權限組可以在系統 “設置” -> “應用” -> “應用信息” -> “權限” 中查看,可以手動授權和取消授權。
1、設備系統是 Android 6.0 (API 23) 或更高版本,并且應用的 targetSdkVersion 是 23 或更高版本,則針對在 AndroidManifest.xml 中聲明的危險權限,在運行時還需要動態請求用戶授權。
2、動態權限請求相關操作的API封裝在在android.support.v4包中,發起請求權限的Activity需要直接或間接繼承android.support.v4.app.FragmentActivity。
3、 也可以在直接或間接繼承 android.support.v4.app.Fragment 的 Fragment 中發起權限請求。
首先在清單文件中注冊
然后在MainActivity.java中將權限封裝到一個String數組中
static final String[] PERMISSION = new String[]{ Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO, Manifest.permission.RECEIVE_BOOT_COMPLETED };
然后在onCreate()方法中加入一下代碼:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { //Android 6.0申請權限 ActivityCompat.requestPermissions(this, PERMISSION, 1); } else { Toast.makeText(this, '成功', Toast.LENGTH_SHORT).show(); }
我通常將上述代碼寫在另一個方法中,然后在onCreate()方法中調用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
