移動開發----android6.0以上權限動態請求實現

Tag:

項目介紹:

[i=s] 本帖最後由 leon2017 於 2016-11-15 09:23 編輯 [/i]

權限檢查工具類的封裝


本項目github地址:https://github.com/leon2017/LeonEasyPermissions


演示效果圖

圖片描述

部分代碼

 /**
 * 單個權限的檢查
 */
private void askSinglePermission() {
    PermissionManager.with(MainActivity.this)
            .key(9000)
            .permission(PermissionEnum.WRITE_EXTERNAL_STORAGE)
            .askagain(true)
            .askagainCallback(new AskagainCallback() {
                @Override
                public void showRequestPermission(UserResponse response) {
                    showDialog(response);
                }
            })
            .callback(new FullCallback() {
                @Override
                public void grated(ArrayList<PermissionEnum> permissionsGranted) {
                    Toast.makeText(mContext, "權限被允許了", Toast.LENGTH_SHORT).show();
                }

                @Override
                public void deniedSetting(ArrayList<PermissionEnum> permissionsDenied) {
                    PermissionHelper.openApplicationSettings(MainActivity.this, R.class.getPackage().getName());
                }

                @Override
                public void deniedCancle(ArrayList<PermissionEnum> permissionsDenied) {
                    finish();
                }
            })
            .ask();
}

/**
 * 多個權限的檢查
 */
private void askMtutiPermission() {
    PermissionManager.with(MainActivity.this)
            .key(800)
            .permission(PermissionEnum.GET_ACCOUNTS, PermissionEnum.ACCESS_FINE_LOCATION, PermissionEnum.READ_SMS)
            .askagain(true)
            .askagainCallback(new AskagainCallback() {
                @Override
                public void showRequestPermission(UserResponse response) {
                    showDialog(response);
                }
            })
            .callback(new FullCallback() {
                @Override
                public void grated(ArrayList<PermissionEnum> permissionsGranted) {
                    Toast.makeText(mContext, "權限被允許了", Toast.LENGTH_SHORT).show();
                }

                @Override
                public void deniedSetting(ArrayList<PermissionEnum> permissionsDenied) {
                    PermissionHelper.openApplicationSettings(MainActivity.this, R.class.getPackage().getName());
                }

                @Override
                public void deniedCancle(ArrayList<PermissionEnum> permissionsDenied) {
                    finish();
                }
            })
            .ask();
}
發佈了55 篇原創文章 · 獲贊 36 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章