安卓動態(tài)權限申請 | permissions4m

名稱 permissions4m
語言 Android
平臺 GitHub
作者 jokermonn
鏈接 點此進入

谷歌在安卓5.0以后加入了動態(tài)權限申請,所以安卓日常開發(fā),需要做高版本的權限適配這一塊容握。今天給大家推薦一款開源的動態(tài)權限申請庫,對動態(tài)權限申請做了封裝车柠,使得整個過程更加簡便剔氏。
該項目是基于鴻洋大神的 MPermissions 項目進行二次開發(fā),使用編譯時注解竹祷,較運行時注解效率更高谈跛。起初目的是僅作為純粹的 Andriod 編譯時注解項目,較原有項目有以下升級:

  • 支持 java8
  • 支持一行代碼同步請求多個權限
  • 支持多種回調函數(shù)塑陵,代碼可以更簡潔

permissions4m 為適配國產機型而迭代感憾,目前支持國產機型適配和支持國產機型5.0權限申請。

使用方法

  1. 導入依賴
    在項目根目錄的build.gradle添加以下代碼:
buildscript {
  // ...
}

allprojects {
  repositories {
    // 請?zhí)砑尤缦乱恍?    maven { url 'https://jitpack.io' }
  }
}

在App Module里添加:

dependencies {
  compile 'com.github.jokermonn:permissions4m:2.1.0-lib'
  annotationProcessor 'com.github.jokermonn:permissions4m:2.1.0-processor'
}
  1. 使用
    在 Activity 或 Fragment 中令花,需要手動添加 onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) 方法以支持權限申請回調阻桅,代碼如下即可:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[]
        grantResults) {
    Permissions4M.onRequestPermissionsResult(MainFragment.this, requestCode, grantResults);
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

單個權限申請:

Permissions4M.get(MainActivity.this)
    // 是否強制彈出權限申請對話框凉倚,建議設置為 true,默認為 true
            // .requestForce(true)
    // 是否支持 5.0 權限申請嫂沉,默認為 false
    // .requestUnderM(false)
    // 權限稽寒,單權限申請僅只能填入一個
    .requestPermissions(Manifest.permission.RECORD_AUDIO)
    // 權限碼
    .requestCodes(AUDIO_CODE)
    // 如果需要使用 @PermissionNonRationale 注解的話,建議添加如下一行
    // 返回的 intent 是跳轉至**系統(tǒng)設置頁面**
    // .requestPageType(Permissions4M.PageType.MANAGER_PAGE)
    // 返回的 intent 是跳轉至**手機管家頁面**
    // .requestPageType(Permissions4M.PageType.ANDROID_SETTING_PAGE)
    .request();

將會回調相應的 @PermissionsGranted趟章、@PermissionsDenied杏糙、@PermissionsRationale/PermissionsCustomRationale、@PermissionsNonRationale 所修飾的方法

多個權限同步申請:

@PermissionsRequestSync(permission ={Manifest.permission.BODY_SENSORS,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.READ_CALENDAR},value = {SENSORS_CODE, LOCATION_CODE, CALENDAR_CODE})
public class MainActivity extends AppCompatActivity

更多使用方法蚓土,可參考該項目的GitHub Page 宏侍。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蜀漆,隨后出現(xiàn)的幾起案子谅河,更是在濱河造成了極大的恐慌,老刑警劉巖嗜愈,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旧蛾,死亡現(xiàn)場離奇詭異,居然都是意外死亡蠕嫁,警方通過查閱死者的電腦和手機锨天,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剃毒,“玉大人病袄,你說我怎么就攤上這事∽阜В” “怎么了益缠?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長基公。 經(jīng)常有香客問我幅慌,道長,這世上最難降的妖魔是什么轰豆? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任胰伍,我火速辦了婚禮,結果婚禮上酸休,老公的妹妹穿的比我還像新娘骂租。我一直安慰自己,他們只是感情好斑司,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布渗饮。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪互站。 梳的紋絲不亂的頭發(fā)上私蕾,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機與錄音云茸,去河邊找鬼是目。 笑死,一個胖子當著我的面吹牛标捺,可吹牛的內容都是我干的。 我是一名探鬼主播揉抵,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼亡容,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了冤今?” 一聲冷哼從身側響起闺兢,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎戏罢,沒想到半個月后屋谭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡龟糕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年桐磁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讲岁。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡我擂,死狀恐怖,靈堂內的尸體忽然破棺而出缓艳,到底是詐尸還是另有隱情校摩,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布阶淘,位于F島的核電站衙吩,受9級特大地震影響,放射性物質發(fā)生泄漏溪窒。R本人自食惡果不足惜坤塞,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望霉猛。 院中可真熱鬧尺锚,春花似錦、人聲如沸惜浅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至伐厌,卻和暖如春承绸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挣轨。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工军熏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卷扮。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓荡澎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晤锹。 傳聞我的和親對象是個殘疾皇子摩幔,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內容