Android開發(fā)-權(quán)限配置總結(jié)

對于Android開發(fā)來說我們一般都會需要申請權(quán)限官辽,android6.0以上瑰煎,google為了系統(tǒng)的安全性坷衍,當(dāng)app用到設(shè)計到用戶隱私的權(quán)限的時候需要進(jìn)行權(quán)限適配注盈,所以我們僅僅在AndroidManifest中聲明權(quán)限還是不夠的。需要手動的進(jìn)行權(quán)限適配问慎,因此萍摊,在Android開發(fā)過程中,申請權(quán)限的方式分兩種形式如叼。

  • 通過配置文件AndroidManifest.xml中編寫權(quán)限配置冰木。
  • 通過在邏輯代碼中動態(tài)申請權(quán)限授權(quán)。

簡介

基于以上介紹笼恰,我們可以將Android權(quán)限分為兩大類:普通權(quán)限踊沸、高級權(quán)限,那么對應(yīng)起來社证,普通權(quán)限的申請在配置文件中編寫就能實現(xiàn)逼龟,而高級權(quán)限則需要動態(tài)申請并通過人工確認(rèn)來實現(xiàn),那么究竟哪些權(quán)限屬于普通權(quán)限追葡,哪些又屬于高級權(quán)限呢腺律?請看下文。

一宜肉、普通權(quán)限

1. 常見普通權(quán)限列表
權(quán)限名稱 所屬權(quán)限組
ACCESS_LOCATION_EXTRA_COMMANDS 定位權(quán)限
ACCESS_NETWORK_STATE 網(wǎng)絡(luò)狀態(tài)權(quán)限
ACCESS_NOTIFICATION_POLICY 通知 APP通知顯示在狀態(tài)欄
ACCESS_WIFI_STATE WiFi 狀態(tài)權(quán)限
BLUETOOTH 使用藍(lán)牙權(quán)限
BLUETOOTH_ADMIN 控制藍(lán)牙開關(guān)
BROADCAST_STICKY 粘性廣播
CHANGE_NETWORK_STATE 改變網(wǎng)絡(luò)狀態(tài)
CHANGE_WIFI_MULTICAST_STATE 改變WiFi多播狀態(tài)匀钧,應(yīng)該是控制手機(jī)熱點(猜測)
CHANGE_WIFI_STATE 控制WiFi開關(guān),改變WiFi狀態(tài)
DISABLE_KEYGUARD 改變鍵盤為不可用
EXPAND_STATUS_BAR 擴(kuò)展bar的狀態(tài)
GET_PACKAGE_SIZE 獲取應(yīng)用安裝包大小
INTERNET 網(wǎng)絡(luò)權(quán)限
KILL_BACKGROUND_PROCESSES 殺死后臺進(jìn)程
MODIFY_AUDIO_SETTINGS 改變音頻輸出設(shè)置
NFC 支付
READ_SYNC_SETTINGS 獲取手機(jī)設(shè)置信息
READ_SYNC_STATS 數(shù)據(jù)統(tǒng)計
RECEIVE_BOOT_COMPLETED 監(jiān)聽啟動廣播
REORDER_TASKS 創(chuàng)建新棧
REQUEST_INSTALL_PACKAGES 安裝應(yīng)用程序
SET_TIME_ZONE 允許應(yīng)用程序設(shè)置系統(tǒng)時間區(qū)域
SET_WALLPAPER 設(shè)置壁紙
SET_WALLPAPER_HINTS 設(shè)置壁紙上的提示信息谬返,個性化語言
TRANSMIT_IR 紅外發(fā)射
USE_FINGERPRINT 指紋識別
VIBRATE 震動
WAKE_LOCK 鎖屏
WRITE_SYNC_SETTINGS 改變設(shè)置
SET_ALARM 設(shè)置警告提示
INSTALL_SHORTCUT 創(chuàng)建快捷方式
UNINSTALL_SHORTCUT 刪除快捷方式
2. 配置文件編寫方式

AndroidManifest.xml文件中的manifest標(biāo)簽下編寫權(quán)限配置清單代碼如下(name中XXXX對應(yīng)的內(nèi)容就是上面提到的權(quán)限名稱):

<uses-permission android:name="android.permission.XXXX"/>
//配置網(wǎng)絡(luò)權(quán)限
<uses-permission android:name="android.permission.INTERNET/>

二之斯、高級權(quán)限

1. 高級權(quán)限列表
權(quán)限名稱 所屬權(quán)限組
READ_CALENDAR 日歷
WRITE_CALENDAR 日歷
CAMERA 相機(jī)
READ_CONTACTS 聯(lián)系人
WRITE_CONTACTS 聯(lián)系人
GET_ACCOUNTS 聯(lián)系人
ACCESS_FINE_LOCATION 位置
ACCESS_COARSE_LOCATION 位置
RECORD_AUDIO 麥克風(fēng)
READ_PHONE_STATE 電話
CALL_PHONE 電話
READ_CALL_LOG 電話
WRITE_CALL_LOG 電話
ADD_VOICEMAIL 電話
USE_SIP 電話
PROCESS_OUTGOING_CALLS 電話
BODY_SENSORS 傳感器
SEND_SMS 短信
RECEIVE_SMS 短信
READ_SMS 短信
RECEIVE_WAP_PUSH 短信
RECEIVE_MMS 短信
READ_EXTERNAL_STORAGE 存儲
WRITE_EXTERNAL_STORAGE 存儲
2、動態(tài)權(quán)限申請方法

注意:動態(tài)申請的權(quán)限必須在配置文件中進(jìn)行配置

動態(tài)申請權(quán)限在需要使用權(quán)限的地方編寫邏輯代碼遣铝,官方代碼如下(以讀寫內(nèi)存權(quán)限為例):

public void requestAllPower() {
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            } else {
                ActivityCompat.requestPermissions(this,
                        new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
            }
        }
    }

判斷動態(tài)申請權(quán)限的結(jié)果代碼如下:

@Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == 1) {
            for (int i = 0; i < permissions.length; i++) {
                if (grantResults[i] == PERMISSION_GRANTED) {
                    Toast.makeText(this, "" + "權(quán)限" + permissions[i] + "申請成功", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(this, "" + "權(quán)限" + permissions[i] + "申請失敗", Toast.LENGTH_SHORT).show();
                }
            }
        }
    }
3. 小結(jié)

對于動態(tài)權(quán)限申請佑刷,可以采用封裝好的權(quán)限申請框架方便的處理權(quán)限申請問題,這樣有利于代碼的重用和整潔性酿炸,由于筆者經(jīng)驗有限瘫絮,還沒有對該類框架進(jìn)行深入的分析,這里推薦筆者收藏的幾個鏈接供大家參考:

三填硕、總結(jié)

筆者經(jīng)驗有限檀何,文章中所有的知識點來自Google官方文檔及博客內(nèi)容,后續(xù)會不斷豐富技術(shù)體系廷支,為大家貢獻(xiàn)更加有價值的知識分享,同時也希望看到文章的讀者和專家對文中的不妥之處進(jìn)行指正栓辜。

參考文獻(xiàn)

  1. 安卓權(quán)限大全-簡書作者[GB_speak]
  2. Android 6.0(API 23)及其以上動態(tài)申請的權(quán)限與申請權(quán)限的方法-CSDN作者[HeTingwei]
  3. Android6.0權(quán)限大全和權(quán)限分類-CSDN作者[DaXian-Will]
  4. Android系統(tǒng)完整的權(quán)限列表-CSDN作者[lianyi68]

轉(zhuǎn)載請注明出處:http://www.reibang.com/p/52e66d9e4a9a

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恋拍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子藕甩,更是在濱河造成了極大的恐慌施敢,老刑警劉巖周荐,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異僵娃,居然都是意外死亡概作,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門默怨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讯榕,“玉大人,你說我怎么就攤上這事匙睹∮奁ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵痕檬,是天一觀的道長霎槐。 經(jīng)常有香客問我,道長梦谜,這世上最難降的妖魔是什么丘跌? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮唁桩,結(jié)果婚禮上闭树,老公的妹妹穿的比我還像新娘。我一直安慰自己朵夏,他們只是感情好蔼啦,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著仰猖,像睡著了一般捏肢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饥侵,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天鸵赫,我揣著相機(jī)與錄音,去河邊找鬼躏升。 笑死辩棒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的膨疏。 我是一名探鬼主播一睁,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼佃却!你這毒婦竟也來了者吁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤饲帅,失蹤者是張志新(化名)和其女友劉穎复凳,沒想到半個月后瘤泪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡育八,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年对途,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片髓棋。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡实檀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仲锄,到底是詐尸還是另有隱情劲妙,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布儒喊,位于F島的核電站镣奋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怀愧。R本人自食惡果不足惜侨颈,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芯义。 院中可真熱鬧哈垢,春花似錦、人聲如沸扛拨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绑警。三九已至求泰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間计盒,已是汗流浹背渴频。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留北启,地道東北人卜朗。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像咕村,于是被迫代替她去往敵國和親场钉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355