我试图解决的问题如下:
NFC标签会触发我的应用,我将从中启动另一个应用。有时会发生的是NFC标签将移动并将被重新发现"通过电话再次启动我的应用程序。 NFC标签的移动是我无法控制的。
这真的毁了这段经历。
我理想的做法是,一旦我的应用程序启动,NFC触发将被禁用或暂停,一旦应用程序关闭(OnDestroy()),我将启用/取消暂停NFC功能。
我无法找到如何做到这一点,你的帮助将非常感激。如果你有另一种(代码相关的)方法来解决这个问题,那就差不多了。
几年前我注意到这篇文章:NFC disable adapter 但我希望还有另一个解决方案,系统应用程序不是一个选项,并提示用户禁用NFC同样糟糕......
提前致谢。
答案 0 :(得分:1)
您可以在活动运行时创建一个处理意图的活动别名disable it,并在销毁活动时重新启用它。
答案 1 :(得分:0)
您假设您可以安全地关闭手机的重要功能,并禁用依赖于此功能的任何其他服务和/或应用。
这当然是错的。您应该只对自己的应用做出假设。
所以你真正要做的就是禁用重新启动。这可以通过多种方式完成:
Service
正确处理NFC意图。根据@ Michael的评论 - 因为你只能将NFC意图与Activity
相关联 - 你必须创建一个非ui Activity
(一个不调用setContentView
的人)来表达作为此BroadcastListener
的{{1}}。