androidStudioの使用方法:
1.プロジェクトのルートgradle.build
allprojects {
リポジトリ{
maven {url " https://jitpack.io " } //この文を追加
}
}
2. libプロジェクトのbuild.gradle内
コンパイル' com.github.yxping:EasyPermissionUtil:v0.1.0 '
PermissionUtil.java
/ ** *単一の許可が許可されているかどうかを確認し、許可は適用されません。(注:アプリケーションが初めてインストールされたとき、合理的な値はなく、この時点で戻りは拒否されます) * / public int checkSinglePermission(文字列パーミッション); / ** *複数のパーミッションのステータスを確認し、パーミッションを申請しない(注:アプリケーションが初めてインストールされたとき、合理的な値はなく、この時点で返却は拒否される)* /公共の地図< 文字列、リスト< PermissionInfo > > checkMultiPermissions(文字列。...パーミッション); / ** *リクエストのアクセス方法* /パブリック無効要求(@NonNull 文字列 []権限、PermissionResultCallBackコールバック); 公衆 void request(@NonNull String [] permissions、PermissionOriginResultCallBack callBack); / ** *フラグメント内のアクセス許可を要求するために使用* / public void request(Fragment fragment、String [] permissions、PermissionResultCallBack callBack); public void request(Fragment fragment、String [] permissions、PermissionOriginResultCallBack callBack); / ** *アクティビティでアクセス許可をリクエストするために使用* / public void request(Activity activity、String []権限、PermissionResultCallBack callBack); public void request(アクティビティアクティビティ、文字列 []権限、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();
// 当权限申请中的某一个或多个权限,被用户否定了,但没有确认不再提醒时,也就是权限窗口申请时,但被否定了之后,该方法将会被调用.
}
});