Android 6.0 動(dòng)態(tài)權(quán)限申請(qǐng)

Android 動(dòng)態(tài)權(quán)限

從 Android 6.0 (API 23)開始使用動(dòng)態(tài)的權(quán)限及(targetSdkVersion >=23 就需要?jiǎng)討B(tài)的申請(qǐng)權(quán)限)志膀,使得系統(tǒng)更加安全逗载,用戶的信息也得到了更好的保護(hù)响谓。

在android 6.0 中權(quán)限被分為兩種:

  1. Normal Permissions (正常權(quán)限)
  2. Dangerous Permissions(危險(xiǎn)權(quán)限)

其中危險(xiǎn)權(quán)限又進(jìn)行了分類,把所有的危險(xiǎn)權(quán)限分為了九組。正常的權(quán)限是不需要?jiǎng)討B(tài)的申請(qǐng)的注整,只有危險(xiǎn)權(quán)限才需要?jiǎng)討B(tài)的申請(qǐng)厚柳。

所有的危險(xiǎn)權(quán)限:

權(quán)限組 權(quán)限
CALENDAR 日歷
CAMERA 相機(jī)
CONTACTS 聯(lián)系人
LOCATION 定位
MICROPHONE 麥克,錄音
PHONE 手機(jī)狀態(tài)
SENSORS 傳感器
SMS 短信
STORAGE 存儲(chǔ)權(quán)限

Anroid 6.0 中權(quán)限問題中需要注意的兩點(diǎn)

  1. 由于權(quán)限API問題项滑,我們的 Activity 最好是 AppCompatActivity 類型的,也就是說在你的 BaseActivity 需要繼承 AppCompatActivity陪踩。
  2. 權(quán)限是分組的杖们,同一組的權(quán)限申請(qǐng)其中一個(gè),同組的權(quán)限就全部都申請(qǐng)了肩狂。當(dāng)然摘完,不論是正常權(quán)限還是危險(xiǎn)權(quán)限都必須在應(yīng)用的 Manifest.xml 中聲明。

使用開源的 EasyPermissions 進(jìn)行動(dòng)態(tài)的申請(qǐng)

easypermission.png

GitHub 地址: EasyPermissions 這個(gè)項(xiàng)目是GoogleSamples

  1. 配置
    在 app 層的 build.gradle 中

     dependencies {
         compile 'pub.devrel:easypermissions:0.4.2'
     } 
    
  2. 使用
    舉栗子
    在Activity(Fragment)中都可以使用

     private void checkPermissions() {
         //每一次在需要使用到權(quán)限的時(shí)候都要進(jìn)行檢查權(quán)限是否開啟傻谁,雖然之前是開啟的孝治,但是用戶有可能關(guān)閉權(quán)限
         //這里是需要申請(qǐng)的權(quán)限
         String[] perms = {Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE};
         if(EasyPermissions.hasPermissions(this,perms)){
             //權(quán)限已經(jīng)申請(qǐng)完成,執(zhí)行任務(wù)
             choosePhoto();
         }else{
             EasyPermissions.requestPermissions(this,"需要訪問你的相冊(cè)",RC_WRITE_READ_EXTERNAL_STORAGE,perms); //RC_WRITE_READ_EXTERNAL_STORAGE 是requestCode 
         }
     }
    
     
     @Override
     public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    
         // Forward results to EasyPermissions
         EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
     }
    
    
     @Override
     public void onPermissionsDenied(int requestCode, List<String> perms) {
         if (EasyPermissions.somePermissionPermanentlyDenied(this,perms)){
             new AppSettingsDialog.Builder(this).build().show();
         }
    
     }
    
     //如果選擇了,取消權(quán)限,再次檢查時(shí)會(huì)進(jìn)入onActivityResult
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         switch (requestCode){
              case AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE:
                     Toast.makeText(this,"您需要開啟訪問相冊(cè)的權(quán)限才能選擇圖片觅够,請(qǐng)進(jìn)入設(shè)置中開啟訪問權(quán)限",Toast.LENGTH_SHORT).show();
                     break;
             }
                
         }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杭措,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钾恢,老刑警劉巖手素,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瘩蚪,居然都是意外死亡泉懦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門疹瘦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崩哩,“玉大人,你說我怎么就攤上這事言沐〉肃冢” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵险胰,是天一觀的道長吴超。 經(jīng)常有香客問我,道長鸯乃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮缨睡,結(jié)果婚禮上鸟悴,老公的妹妹穿的比我還像新娘。我一直安慰自己奖年,他們只是感情好细诸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著陋守,像睡著了一般震贵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上水评,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天猩系,我揣著相機(jī)與錄音,去河邊找鬼中燥。 笑死寇甸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疗涉。 我是一名探鬼主播拿霉,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼咱扣!你這毒婦竟也來了绽淘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤闹伪,失蹤者是張志新(化名)和其女友劉穎沪铭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祭往,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伦意,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了硼补。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驮肉。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖已骇,靈堂內(nèi)的尸體忽然破棺而出离钝,到底是詐尸還是另有隱情,我是刑警寧澤褪储,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布卵渴,位于F島的核電站,受9級(jí)特大地震影響鲤竹,放射性物質(zhì)發(fā)生泄漏浪读。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碘橘。 院中可真熱鬧互订,春花似錦、人聲如沸痘拆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纺蛆。三九已至吐葵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桥氏,已是汗流浹背温峭。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留识颊,地道東北人诚镰。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像祥款,于是被迫代替她去往敵國和親清笨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容