PermissionsDispatcher動(dòng)態(tài)獲取權(quán)限用法

PermissionsDispatcher 是一個(gè)基于注解斋否、幫助開發(fā)者簡(jiǎn)單處理Android 6.0系統(tǒng)中的運(yùn)行時(shí)權(quán)限的開源庫(kù)澈魄。

開源地址:https://github.com/hotchemi/PermissionsDispatcher

1、添加依賴

???? implementation('com.github.hotchemi:permissionsdispatcher:2.4.0')

??? ? ? {

??? ? ? ? ? ?? excludemodule:"support-v13"

? ? ? ?? }

?? annotationProcessor'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'

2等孵、在Activity或Fragment中使用

????? 1:在對(duì)應(yīng)的Activity類上面添加注解葵硕,比如MainAcitvity

??????????? @RuntimePermissions

???????????? public class MainActivity? extends? BaseActivity

?????????? ?? {

??????????????????? ......

????????????????? 初始化...

?????????????????? void initView()

???????????????????? ? ? ? {

???????????????????????????????????????? if (Build.VERSION.SDK_INT >23) {

????????????????????????????????????????????? 調(diào)用輔助類里面的方法完成應(yīng)用的權(quán)限請(qǐng)求

??????????????????????????????????????????? ?? MainActivityPermissionsDispatcher.initPermissionWithCheck(this);

????????????????????????????????????????????? }

?????????????????????????? }

????????? ? ? }


MainActivityPermissionsDispatcher的來(lái)由:

只有@RuntimePermissions和@NeedsPermission是必須的负乡,其余注解均為可選愧薛。當(dāng)使用了@RuntimePermissions和@NeedsPermission之后杯缺,需要點(diǎn)擊菜單欄中Build菜單下的Make Project砰左,或者按快捷鍵Ctrl + F9編譯整個(gè)項(xiàng)目匿醒,編譯器會(huì)在app\build\intermediates\classes\debug目錄下與被注解的Activity同一個(gè)包下生成一個(gè)輔助類,名稱為被注解的Activity名稱+PermissionsDispatcher.class


?生成輔助類

?????????????

????? @NeedsPermission注解在需要調(diào)用運(yùn)行時(shí)權(quán)限的方法上缠导,當(dāng)用戶給予權(quán)限時(shí)會(huì)執(zhí)行該方法

//這里是動(dòng)態(tài)獲取對(duì)文件操作的權(quán)限

??? @NeedsPermission({Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MOUNT_FORMAT_FILESYSTEMS,????? Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS})

?void initPermission() {

?}


@OnShowRationale 注解在用于向用戶解釋為什么需要調(diào)用該權(quán)限的方法上廉羔,只有當(dāng)?shù)谝淮握?qǐng)求權(quán)限被用戶拒絕,下次請(qǐng)求權(quán)限之前會(huì)調(diào)用

@OnShowRationale({Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MOUNT_FORMAT_FILESYSTEMS, Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS})

void onShowRationale(final PermissionRequest request) {

new AlertDialog.Builder(this)

.setMessage("需要獲取一些權(quán)限")

.setPositiveButton("趕緊點(diǎn)允許嘛~~", new DialogInterface.OnClickListener() {

@Override

? ? ? ? ? ? ? ? public void onClick(DialogInterface dialog, int which) {

???????????????????????? request.proceed();

? ? ? ? ? ? ? ? }

})

.setNegativeButton("又尼瑪決絕嗎僻造?", new DialogInterface.OnClickListener() {

@Override

? ? ? ? ? ? ? ? public void onClick(DialogInterface dialog, int which) {

????????????????????? request.cancel();

? ? ? ? ? ? ? ? }

})

.show();

}



小小記錄一下憋他,以防下次用的時(shí)候忘了,,,如有錯(cuò)誤的地方,請(qǐng)大佬們指出.....

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嫡意,一起剝皮案震驚了整個(gè)濱河市举瑰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔬螟,老刑警劉巖此迅,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異旧巾,居然都是意外死亡耸序,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門鲁猩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)坎怪,“玉大人,你說(shuō)我怎么就攤上這事廓握〗亮” “怎么了嘁酿?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)男应。 經(jīng)常有香客問(wèn)我闹司,道長(zhǎng),這世上最難降的妖魔是什么沐飘? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任游桩,我火速辦了婚禮,結(jié)果婚禮上耐朴,老公的妹妹穿的比我還像新娘借卧。我一直安慰自己,他們只是感情好筛峭,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布铐刘。 她就那樣靜靜地躺著,像睡著了一般蜒滩。 火紅的嫁衣襯著肌膚如雪滨达。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天俯艰,我揣著相機(jī)與錄音捡遍,去河邊找鬼。 笑死竹握,一個(gè)胖子當(dāng)著我的面吹牛画株,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啦辐,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼谓传,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了芹关?” 一聲冷哼從身側(cè)響起续挟,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侥衬,沒(méi)想到半個(gè)月后诗祸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轴总,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年直颅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怀樟。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡功偿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出往堡,到底是詐尸還是另有隱情械荷,我是刑警寧澤共耍,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站吨瞎,受9級(jí)特大地震影響征堪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜关拒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庸娱。 院中可真熱鬧着绊,春花似錦、人聲如沸熟尉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)斤儿。三九已至剧包,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間往果,已是汗流浹背疆液。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陕贮,地道東北人堕油。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像肮之,于是被迫代替她去往敵國(guó)和親掉缺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

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

  • Android程序往往都需要在androidmanifest.xml文件中來(lái)聲明許多的相關(guān)權(quán)限請(qǐng)求, 而權(quán)限請(qǐng)求也...
    Yinll閱讀 8,279評(píng)論 0 11
  • <manifest> 首先戈擒,我們的根標(biāo)簽就是 manifest眶明,有開始標(biāo)簽就有結(jié)束標(biāo)簽,所以每個(gè)標(biāo)簽都是成對(duì)出現(xiàn)的...
    IT_xiao小巫閱讀 833評(píng)論 0 2
  • android.permission.EXPAND_STATUS_BAR 允許一個(gè)程序擴(kuò)展收縮在狀態(tài)欄,andro...
    pyyy閱讀 3,640評(píng)論 1 17
  • 某個(gè)周末的早上筐高,我悠閑地聽著音樂(lè)開著車搜囱,到路口紅燈停下來(lái),隨著信號(hào)燈轉(zhuǎn)綠凯傲,繼續(xù)開著車子往前走犬辰,隱約聽到咔嚓咔...
    水中青荇閱讀 130評(píng)論 0 1