LeonEasyPermissions
android6.0權限請求工具類的簡單封裝
權限檢查工具類的封裝
我隻是針對個人的愛好對源碼進行改動,如有不妥之處,請聯系我删除
示範效果圖

部分代碼
private void checkPermissions() {
PermissionManager
.with(MainActivity.this)
.tag(1000)
.permission(PermissionEnum.READ_EXTERNAL_STORAGE, PermissionEnum.WRITE_EXTERNAL_STORAGE, PermissionEnum.CAMERA)
.callback(new PerimissionsCallback() {
@Override
public void onGranted(ArrayList grantedList) {
Toast.makeText(mContext, "權限被允許", Toast.LENGTH_SHORT).show();
}
@Override
public void onDenied(ArrayList deniedList) {
Toast.makeText(mContext, "權限被拒絕", Toast.LENGTH_SHORT).show();
PermissionDenied(deniedList);
}
})
.checkAsk();
}
private void PermissionDenied(final ArrayList permissionsDenied) {
StringBuilder msgCN = new StringBuilder();
for (int i = 0; i < permissionsDenied.size(); i++) {
if (i == permissionsDenied.size() - 1) {
msgCN.append(permissionsDenied.get(i).getName_cn());
} else {
msgCN.append(permissionsDenied.get(i).getName_cn() + ",");
}
}
if (mContext == null) {
return;
}
AlertDialog alertDialog = new AlertDialog.Builder(mContext)
.setMessage(String.format(mContext.getResources().getString(R.string.permission_explain), msgCN.toString()))
.setCancelable(false)
.setPositiveButton(R.string.per_setting, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PerUtils.openApplicationSettings(mContext, R.class.getPackage().getName());
}
})
.setNegativeButton(R.string.per_cancle, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(mContext, "點選了取消", Toast.LENGTH_SHORT).show();
}
}).create();
alertDialog.show();
}