小米MIUI NFC、WIFI权限排查踩坑 |
您所在的位置:网站首页 › 小米手机打开nfc功能 › 小米MIUI NFC、WIFI权限排查踩坑 |
背景: 小米手机使用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 |