Android 添加自定义权限¶
- permission-tree 权限的根节点,3个成员都要定义
name 一般来说需要2个“.”;比如下面的"rust.permission.user";
否则报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
icon 和 label 正常添加即可 - permission 权限声明,定义权限组、等级等信息
- uses-permission 使用权限
<!-- user define permission
permission tree and permission -->
<permission-tree
android:name="rust.permission.user"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" />
<permission
android:name="rust.permission.user.TEST"
android:label="@string/app_name"
android:permissionGroup="@string/action_settings"
android:protectionLevel="normal" />
<!-- use user permission -->
<uses-permission android:name="rust.permission.user.TEST" />
使用PackageManager的方法来检查
private static final String TestPermission = "rust.permission.user.TEST";
......
checkUserPermission(getApplicationContext(), TestPermission);
......
/**
* check permission
*
* @param context - the application context
*/
private void checkUserPermission(Context context, String permissionName) {
PackageManager pm = getPackageManager();
boolean permitTest = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission(permissionName, getPackageName()));
Toast.makeText(context, permitTest ? "Test YES!" : "Test NO!", Toast.LENGTH_SHORT)
.show();
}
作者: rustfisher.com | rf.cs@foxmail.com
示例: AndroidTutorial Gitee, Tutorial Github
本文链接: https://www.an.rustfisher.com/android/permissions/custom-user-permission/
一家之言,仅当抛砖引玉。如有错漏,还请指出。如果喜欢本站的内容,还请支持作者。也可点击1次下方的链接(链接内容与本站无关),谢谢支持服务器。
如有疑问,请与我联系:Android issues - gitee