Android6.0獲取動(dòng)態(tài)權(quán)限代碼示例
Android系統(tǒng)對(duì)所有的危險(xiǎn)權(quán)限進(jìn)行了分組,稱為 權(quán)限組 。屬于同一組的危險(xiǎn)權(quán)限將自動(dòng)合并授予,用戶授予應(yīng)用某個(gè)權(quán)限組的權(quán)限,則應(yīng)用將獲得該權(quán)限組下的所有權(quán)限(前提是相關(guān)權(quán)限在 AndroidManifest.xml 中有聲明)。
危險(xiǎn)權(quán)限 和 權(quán)限組 列表如下: 在 AndroidManifest.xml 聲明過的危險(xiǎn)權(quán)限對(duì)應(yīng)的權(quán)限組可以在系統(tǒng) “設(shè)置” -> “應(yīng)用” -> “應(yīng)用信息” -> “權(quán)限” 中查看,可以手動(dòng)授權(quán)和取消授權(quán)。
1、設(shè)備系統(tǒng)是 Android 6.0 (API 23) 或更高版本,并且應(yīng)用的 targetSdkVersion 是 23 或更高版本,則針對(duì)在 AndroidManifest.xml 中聲明的危險(xiǎn)權(quán)限,在運(yùn)行時(shí)還需要?jiǎng)討B(tài)請(qǐng)求用戶授權(quán)。
2、動(dòng)態(tài)權(quán)限請(qǐng)求相關(guān)操作的API封裝在在android.support.v4包中,發(fā)起請(qǐng)求權(quán)限的Activity需要直接或間接繼承android.support.v4.app.FragmentActivity。
3、 也可以在直接或間接繼承 android.support.v4.app.Fragment 的 Fragment 中發(fā)起權(quán)限請(qǐng)求。
首先在清單文件中注冊(cè)
然后在MainActivity.java中將權(quán)限封裝到一個(gè)String數(shù)組中
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申請(qǐng)權(quán)限
ActivityCompat.requestPermissions(this, PERMISSION, 1);
} else {
Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show();
}
我通常將上述代碼寫在另一個(gè)方法中,然后在onCreate()方法中調(diào)用。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android registerForActivityResult動(dòng)態(tài)申請(qǐng)權(quán)限案例詳解
- Android端權(quán)限隱私的合規(guī)化處理實(shí)戰(zhàn)記錄
- android9.0 默認(rèn)apk權(quán)限添加方法
- Android 版本、權(quán)限適配相關(guān)總結(jié)
- Android6.0 動(dòng)態(tài)權(quán)限機(jī)制深入講解
- Android 如何實(shí)現(xiàn)動(dòng)態(tài)申請(qǐng)權(quán)限
- Android普通應(yīng)用升級(jí)為系統(tǒng)應(yīng)用并獲取系統(tǒng)權(quán)限的操作
- Android進(jìn)程運(yùn)行中權(quán)限被收回導(dǎo)致關(guān)閉的問題解決
相關(guān)文章
Android Studio實(shí)現(xiàn)下拉列表效果
這篇文章主要為大家詳細(xì)介紹了Android Studio實(shí)現(xiàn)下拉列表效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
Android 組件Gallery和GridView示例講解
本文主要講解Android 組件Gallery和GridView,這里詳細(xì)介紹組件Gallery和GridView的知識(shí)要點(diǎn),并附示例代碼和實(shí)現(xiàn)效果圖,有興趣的小伙伴可以參考下2016-08-08
android實(shí)現(xiàn)微信聯(lián)合登錄開發(fā)示例
本篇文章主要介紹了android實(shí)現(xiàn)微信聯(lián)合登錄開發(fā)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
Android開發(fā)Viewbinding委托實(shí)例詳解
這篇文章主要為大家介紹了Android開發(fā)Viewbinding委托實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Android系統(tǒng)進(jìn)程間通信(IPC)機(jī)制Binder中的Client獲得Server遠(yuǎn)程接口過程源代碼分析
本文主要介紹Android 通信Binder中的Client獲得Server遠(yuǎn)程接口,這里對(duì)Android Binder 中Client中Server 源碼做了詳細(xì)分析介紹,有研究Android源碼的小伙伴可以參考下2016-08-08
探秘Android手勢(shì)事件機(jī)制與優(yōu)化技巧
在Android開發(fā)中,手勢(shì)操作被廣泛應(yīng)用于各種應(yīng)用場景,如滑動(dòng)、雙擊等。本文將介紹Android手勢(shì)事件傳遞的原理,包括手勢(shì)事件的類型、分發(fā)機(jī)制和處理流程等內(nèi)容,并提供一些優(yōu)化用戶體驗(yàn)的技巧,需要的朋友可以參考下2023-06-06

