推薦一款非常好用方便的android 6.0權限申請工具

引用至點擊打開鏈接

androidStudio使用方法 :

1.在項目的root gradle.build中

allprojects {
    repositories {
        maven { url "https://jitpack.io" } // 加入這句話
    }
}

2.在lib工程下的build.gradle中

compile 'com.github.yxping:EasyPermissionUtil:v0.1.0'

PermissionUtil.java

/**
 * 檢查單個權限是否被允許,不會進行權限的申請.(注意:當應用第一次安裝的時候,不會有rational的值,此時返回均是denied)
 */
public int checkSinglePermission(String permission);

/**
 * 檢查多個權限的狀態,不會進行權限的申請.(注意:當應用第一次安裝的時候,不會有rational的值,此時返回均是denied)
 */
public Map<String, List<PermissionInfo>> checkMultiPermissions(String... permissions);

/**
 * 申請權限方法
 */
public void request(@NonNull String[] permissions, PermissionResultCallBack callBack);

public void request(@NonNull String[] permissions, PermissionOriginResultCallBack callBack);

/**
 * 用於fragment中請求權限
 */
public void request(Fragment fragment, String[] permissions, PermissionResultCallBack callBack);

public void request(Fragment fragment, String[] permissions, PermissionOriginResultCallBack callBack);

/**
 * 用於activity中請求權限
 */
public void request(Activity activity, String[] permissions, PermissionResultCallBack callBack);

public void request(Activity activity, String[] permissions, PermissionOriginResultCallBack callBack);


申請權限非常方便,一個方法搞定:

PermissionUtil.getInstance().request(getActivity(), new String[]{Manifest.permission.READ_PHONE_STATE,
                        Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,
                        Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},
                new PermissionResultCallBack() {
                    @Override
                    public void onPermissionGranted() {
                        // 當所有權限的申請被用戶同意之後,該方法會被調用
                        
                    }


                    @Override
                    public void onPermissionGranted(String... strings) {
                        // 當所有權限的申請被用戶同意之後,該方法會被調用
                    }


                    @Override
                    public void onPermissionDenied(String... permissions) {
                        Toast.makeText(getActivity(),"部分權限被禁止需要手動開啓",Toast.LENGTH_SHORT).show();
                        // 當權限申請中的某一個或多個權限,被用戶曾經否定了,並確認了不再提醒時,也就是權限的申請窗口不能再彈出時,該方法將會被調用
                    }


                    @Override
                    public void onRationalShow(String... permissions) {
                        Toast.makeText(getContext(),"部分權限被禁止需要手動開啓",Toast.LENGTH_SHORT).show();
                        // 當權限申請中的某一個或多個權限,被用戶否定了,但沒有確認不再提醒時,也就是權限窗口申請時,但被否定了之後,該方法將會被調用.
                    }

                });


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