android 小米的那些权限

之前开发了一个悬浮窗功能,跳转其他权限的话,然后先悬浮窗回来,发现小米的手机 回不来。

一番查找才发现 小米需要一个权限。 

解决代码如下

/**
 * 检查小米 从后台打开的权限
 *
 * @param context
 * @return
 */
public static boolean isAllowed(Context context) {
    AppOpsManager ops = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
    try {
        int op = 10021;
        Method method = ops.getClass().getMethod("checkOpNoThrow", new Class[]{int.class, int.class, String.class});
        Integer result = (Integer) method.invoke(ops, op, android.os.Process.myUid(), context.getPackageName());
        return result == AppOpsManager.MODE_ALLOWED;

    } catch (Exception e) {
        Log.e("AppUtils", "not support");
    }
    return false;
}

这个 op=10021  对应的就是   后台弹出权限。

你还要看其他权限对应的op值,那你 就可以写个循坏 去判断

例如:你先把所有的权限都关闭,对比下输出的值,然后你再把你想要的那个权限打开。就能知道对应的op值。 

op=10021 后台弹出权限。

op=10016 nfc 权限。

op=10017 快捷方式。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值