迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:lib-android-PermissionHelper开源软件地址:https://gitee.com/alpha4/lib-android-PermissionHelper开源软件介绍:我的其他仓库推荐
Android M 权限申请[http://developer.android.com/training/permissions/index.html][http://developer.android.com/guide/topics/security/permissions.html] 有任何建议或反馈 请联系: [email protected] 欢迎大家加入 你可能希望了解这些 root@generic_x86:/ # pm list permissions root@generic_x86:/ $ pm revoke com.bookbuf.android android.permission.READ_CONTACTSroot@generic_x86:/ $ pm grant com.bookbuf.android android.permission.READ_CONTACTS
/*示例权限*/ public PermEntityCompat[] exampleSinglePerm () { PermEntityCompat perm = new PermEntityCompat (Manifest.permission.READ_CONTACTS, "联系人权限", "读取联系人权限是为了xxxxxx"); return new PermEntityCompat[]{perm}; } public PermEntityCompat[] exampleGroupPerms () { PermEntityCompat[] perms = new PermEntityCompat[]{ new PermEntityCompat (Manifest.permission.READ_CONTACTS, "联系人权限", "读取联系人权限是为了xxxxxx"), new PermEntityCompat (Manifest.permission.READ_CALENDAR, "日历权限", "读取日历权限是为了 xxxxxx"), new PermEntityCompat (Manifest.permission.READ_SMS, "短信权限", " 读取短信权限是为了 xxxxxx") }; return perms; }
public OnRequestPermissionsResultCallback callback () { if (callback != null) return callback; callback = new OnRequestPermissionsResultCallback<PermEntityCompat> () { @Override public void onGranted (PermEntityCompat... permission) { String[] perms = PermUtil.permissions (permission); Log.e (TAG, "onGranted : " + Arrays.toString (perms)); } @Override public void onDenied (PermEntityCompat... permission) { String[] perms = PermUtil.permissions (permission); Log.e (TAG, "onDenied : " + Arrays.toString (perms)); } @Override public void onChecked (boolean isGranted, PermEntityCompat... permission) { String[] perms = PermUtil.permissions (permission); Log.e (TAG, "onChecked : " + Arrays.toString (perms) + ":权限检查:" + isGranted); } }; return callback; }
@Override public void onRequestPermissionsResult (int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult (requestCode, permissions, grantResults); PermDelegateCompat.onRequestPermissionsResult (requestCode, permissions, grantResults); }
PermDelegateCompat.Debug.register (this, callback ()); // ... PermDelegateCompat.Client.requestIfNotAcquirePermission (exampleGroupPerms ()); // ... PermDelegateCompat.Debug.unregister (this, callback ()); ![]()
![]() |
请发表评论