如何解决NFC扫描时Tags应用弹窗问题并修复跳转设置页代码?
NFC标签扫描优化问题
我的NFC功能已正常部署并可用,标签消息为空,因此我读取标签ID。
核心问题
当标签消息中无强制打开特定应用的数据时,扫描每个NFC标签都会弹出Tags应用的弹窗,且该弹窗无「始终使用我的应用」选项,导致扫描效率降低。重写所有标签并非可行方案。
已尝试的解决办法
- 将NFC设置设为优先当前应用(我的应用),无效果;
- 尝试NFC支付应用相关设置,但我的应用并非支付应用,无法设置默认NFC支付应用;
- 搜索网络解决方案;
- 查阅官方设置文档。
部分解决方案提到可通过App Inspector应用找到Tags应用并禁用,此方法有效,但我希望在用户登录我的应用时直接引导至该设置页面。
预期:可选择默认NFC应用替代Tags应用;实际:每次扫描均弹出弹窗。
暂定解决方案思路
- 使用Package Manager检查Tags应用是否存在;
- 检查该应用是否已禁用;
- 若存在且已启用,引导用户进入Tags应用的禁用选项(包名存在差异:三星Android 13设备为
com.android.apps.tag,Nexus Android 8.1.0和Zebra Android 14设备为com.google.android.tag)。
当前技术疑问
我原本以为只需使用正确的ACTION常量(如精确闹钟权限的处理方式),但因涉及特定包名,需采用不同处理方式。如何以最佳实践实现上述1、2、3步骤?尤其是步骤2。
以下代码无提示失效(LogCat无日志):预期跳转至Tags应用的应用信息设置页,实际无任何反应且无错误。
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setData(Uri.fromParts("package", "com.android.apps.tags", null)); startActivity(intent);
内容的提问来源于stack exchange,提问作者Henrik Erlandsson
相关产品推荐
相关产品推荐

