【问题标题】:Can I detect that a particular permission has been removed for my android app?我可以检测到我的 android 应用程序的特定权限已被删除吗?
【发布时间】:2013-08-02 06:34:10
【问题描述】:

Android 4.3 的到来带来了选择性disable particular permissions for apps 的能力。

这显然会导致应用失去正常运行所需的权限。

权限被撤销时系统是否会广播消息,或者我如何知道我的应用不再具有某个权限?理想情况下,我想通知用户关闭权限 A 会破坏应用程序中的 xyz。

【问题讨论】:

  • 因为这个原因它被隐藏起来了,直到他们想出一种机制让开发人员对其进行调整。

标签: android android-permissions android-4.3-jelly-bean


【解决方案1】:

没有广播,但您可以在启动(或恢复等)时自行检查权限。为此提供了Context#checkCallingOrSelfPermission()

如果你想检查你的所有权限,你可以这样做:

public static boolean[] getPermissionsGranted(Context context, String[] permissions){
    boolean[] permissionsGranted = new boolean[permissions.length];
    for(int i=0;i<permissions.length;i++){
        int check = context.checkCallingOrSelfPermission(permissions[i]);
        permissionsGranted[i] = (check == PackageManager.PERMISSION_GRANTED);
    }
    return permissionsGranted;
}

输入字符串是权限名称,例如"android.permission.INTERNET"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    相关资源
    最近更新 更多