EasyPermission完美解決Android6.0權(quán)限

github地址(Demo下載)
https://github.com/zhouxu88/EasyPermission

一寓娩、簡介:

android6.0 開始,權(quán)限的申請發(fā)生了改變达址,申請變的動(dòng)態(tài)化,也就是運(yùn)行時(shí)權(quán)限趁耗,EasyPermission 可以幫助簡化權(quán)限申請的流程沉唠,同時(shí)使得代碼更加具有邏輯。對申請的結(jié)果進(jìn)行統(tǒng)一的返回苛败。而且當(dāng)用戶拒絕了權(quán)限满葛,任然可以通過打開系統(tǒng)設(shè)置,手動(dòng)授權(quán)后罢屈,返回APP嘀韧,繼續(xù)操作,可以說是完美的解決了幾乎所有可能發(fā)生的情況,強(qiáng)烈推薦缠捌。

android6.0 開始锄贷,權(quán)限的申請發(fā)生了改變,申請變的動(dòng)態(tài)化曼月,也就是運(yùn)行時(shí)權(quán)限谊却,和 iOS 相仿,動(dòng)態(tài)化的意思是指十嘿,在每次使用需要危險(xiǎn)權(quán)限的方法的時(shí)候因惭,需要檢查程序是否獲得了該權(quán)限的許可。動(dòng)態(tài)化的權(quán)限申請能夠讓用戶更加清晰的知道程序需要什么權(quán)限绩衷,以及程序中哪些地方的操作需要涉及用戶安全蹦魔。不再是僅僅在程序安裝的時(shí)候激率,一次性把所需要的普通的、危險(xiǎn)級(jí)別的權(quán)限一次性列出來勿决,然后展示給用戶乒躺。 EasyPermissionUtil 可以幫助簡化權(quán)限申請的流程,同時(shí)使得代碼更加具有邏輯低缩。對申請的結(jié)果進(jìn)行統(tǒng)一的返回嘉冒。

二、如何使用

首先咆繁,引用庫

dependencies {
 compile 'pub.devrel:easypermissions:0.3.0'
}

同樣讳推,easypermissions處理權(quán)限分為3步。

1 玩般、檢查權(quán)限

if (Build.VERSION.SDK_INT >= 23) {
            //打電話的權(quán)限
            String[] mPermissionList = new String[]{Manifest.permission.CALL_PHONE};
            if (EasyPermissions.hasPermissions(mContext, mPermissionList)) {
                //已經(jīng)同意過
                call();
            } else {
                //未同意過,或者說是拒絕了银觅,再次申請權(quán)限
                EasyPermissions.requestPermissions(
                        this,  //上下文
                        "需要撥打電話的權(quán)限", //提示文言
                        CALL_PHONE_REQUEST_CODE, //請求碼
                        mPermissionList //權(quán)限列表
                );
            }
        } else {
            //6.0以下,不需要授權(quán)
            call();
        }

2坏为、 申請權(quán)限

 EasyPermissions.requestPermissions(
                        this,  //上下文
                        "需要撥打電話的權(quán)限", //提示文言
                        CALL_PHONE_REQUEST_CODE, //請求碼
                        mPermissionList //權(quán)限列表
                );

3 處理EasyPermissions.PermissionCallbacks的回調(diào)接口究驴,直接處理權(quán)限是否成功申請

//同意授權(quán)
    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        // Forward results to EasyPermissions
        //跳轉(zhuǎn)到onPermissionsGranted或者onPermissionsDenied去回調(diào)授權(quán)結(jié)果
        EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
    }


    @Override
    public void onPermissionsGranted(int requestCode, List<String> list) {
        // Some permissions have been granted
        // ...
        Log.i(TAG, "onPermissionsGranted:" + requestCode + ":" + list.size());
        call();
    }

    //拒絕授權(quán)
    @Override
    public void onPermissionsDenied(int requestCode, List<String> perms) {
        // Some permissions have been denied
        // ...

        Log.i(TAG, "onPermissionsDenied:" + requestCode + ":" + perms.size());

        // (Optional) Check whether the user denied any permissions and checked "NEVER ASK AGAIN."
        // This will display a dialog directing them to enable the permission in app settings.
        if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
            new AppSettingsDialog.Builder(this).build().show();
        }
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE) {
            //拒絕授權(quán)后,從系統(tǒng)設(shè)置了授權(quán)后匀伏,返回APP進(jìn)行相應(yīng)的操作
            Log.i(TAG, "onPermissionsDenied:------>自定義設(shè)置授權(quán)后返回APP");
            call();
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末直晨,一起剝皮案震驚了整個(gè)濱河市单默,隨后出現(xiàn)的幾起案子溉奕,更是在濱河造成了極大的恐慌吁朦,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摧找,死亡現(xiàn)場離奇詭異核行,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蹬耘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門芝雪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人综苔,你說我怎么就攤上這事惩系。” “怎么了如筛?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵堡牡,是天一觀的道長。 經(jīng)常有香客問我杨刨,道長晤柄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任妖胀,我火速辦了婚禮芥颈,結(jié)果婚禮上惠勒,老公的妹妹穿的比我還像新娘。我一直安慰自己爬坑,他們只是感情好纠屋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盾计,像睡著了一般售担。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上署辉,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天族铆,我揣著相機(jī)與錄音,去河邊找鬼涨薪。 笑死骑素,一個(gè)胖子當(dāng)著我的面吹牛炫乓,可吹牛的內(nèi)容都是我干的刚夺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼末捣,長吁一口氣:“原來是場噩夢啊……” “哼侠姑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起箩做,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤莽红,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后邦邦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體安吁,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年燃辖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鬼店。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡黔龟,死狀恐怖妇智,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情氏身,我是刑警寧澤巍棱,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蛋欣,受9級(jí)特大地震影響航徙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜陷虎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一到踏、第九天 我趴在偏房一處隱蔽的房頂上張望倒得。 院中可真熱鬧,春花似錦夭禽、人聲如沸霞掺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菩彬。三九已至,卻和暖如春潮梯,著一層夾襖步出監(jiān)牢的瞬間骗灶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工秉馏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耙旦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓萝究,卻偏偏與公主長得像免都,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子帆竹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評論 25 707
  • 簡述 Android是一個(gè)權(quán)限分離的操作系統(tǒng)绕娘,每一個(gè)應(yīng)用程序運(yùn)行時(shí)都會(huì)有一個(gè)明確地系統(tǒng)身份標(biāo)識(shí)(Linux的use...
    Kisson閱讀 6,501評論 1 37
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)栽连,斷路器险领,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 有這么一句話 當(dāng)你問一個(gè)男人 愛不愛你的時(shí)候 你就輸了 不要總是想著男人會(huì)不會(huì)愛你 正確的方式應(yīng)該是 努力讓自己變...
    hh5201314閱讀 240評論 0 0
  • 1. wear off The drugs effect was wearing off and that rem...
    Mr_Oldman閱讀 132評論 0 0