小米MIUI NFC、WIFI权限排查踩坑

您所在的位置:网站首页 小米手机打开nfc功能 小米MIUI NFC、WIFI权限排查踩坑

小米MIUI NFC、WIFI权限排查踩坑

2023-06-15 19:55| 来源: 网络整理| 查看: 265

背景: 小米手机使用NFC时,会提示是否使用NFC弹窗,如果点击拒绝,则下次碰 NFC 无反应。

一. 现象

NFC 的使用非常简单,只需要在 AndroidManifest.xml 上 注册权限即可:

但 MIUI 可能考虑安全问题,NFC 有使用权限限制,如:

在这里插入图片描述

经排查,安卓官网并没有对 NFC 使用有特殊权限申请,其他手机使用 NFC 无该情况。

二. 问题排查

既然涉及权限问题,可能 MIUI 需要申请权限,抱着疑问使用了:

boolean isHasNfcPermission = ActivityCompat.checkSelfPermission(this, Manifest.permission.NFC) == PackageManager.PERMISSION_GRANTED;

无论关闭还是打开NFC,结果都是 PERMISSION_GRANTED ,看来这里行不通。

权限问题,除了 ActivityCompat.checkSelfPermission() , 还有 AppOpsManager 权限管理类;

进到源码,查看 op 值 ,从数组来看,并发现并没有跟 NFC 相关的权限。

在这里插入图片描述

这个时候就有点蛋疼了。。。

三. 解决问题

后来网上发现了一遍文章,https://blog.csdn.net/GuangkuoDing/article/details/100324162 ,说是小米官网给的,“后台弹出页面” op 值为 10021 ,但没说 NFC 是多少。

不过可以看到改值还是比较大的,原生的数组长度为 90 ,估计 MIUI 取了个比较靠后的用来测试。

所以,我大概取了个范围,从 10000 到 10030,进行对比测试:

for (int op = 10000; op


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3