Android M運行時權限

之前我們的App需要權限,只需在manifest中申明即可,用戶安裝後,一切申明的權限都可來去自如的使用。但是Android M把權限管理做了加強處理,在manifest申明瞭,在使用到相關功能時,還需重新授權方可使用。當然,不是所有權限都需重新授權,所以就把這些需要重新授權方可使用的權限稱之爲運行時權限。

源碼中被用來檢查和請求權限的方法分別是Activity的checkSelfPermissionrequestPermissions。這些方法api23引入,

int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.WRITE_CONTACTS);
    if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(new String[] {Manifest.permission.WRITE_CONTACTS},
                REQUEST_CODE_ASK_PERMISSIONS);
        return;
    }
    insertDummyContact();
如果已有權限,insertDummyContact()會執行。否則,requestPermissions被執行來彈出請求授權對話框。

爲解決這事,有許多第三方庫已經問世了,真屌真有速度。我試了很多最終找到了個滿意的hotchemi’s PermissionsDispatcher

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章