从应用程序中禁用 NFC 功能
Disable NFC functionality from within the app
我要解决的问题如下:
NFC 标签将触发我的应用程序,我从该应用程序启动另一个应用程序。有时会发生的情况是,NFC 标签会移动并且会被 phone "re discovered" 并再次启动我的应用程序。 NFC标签的移动是我无法控制的。
这真的破坏了体验。
我最想做的是,一旦我的应用程序启动,NFC 触发将被禁用或暂停,一旦应用程序关闭 (OnDestroy()),我将启用/取消暂停 NFC 功能。
我找不到如何做到这一点,非常感谢您的帮助。如果您有另一种(代码相关的)方法来解决这个问题,这也很好。
几年前我注意到了这个post:NFC disable adapter
但我希望有另一种解决方案,作为系统应用程序不是一个选项,提示用户禁用 NFC 同样糟糕...
提前致谢。
您可以创建一个 activity-别名来处理意图,disable it 而您的 activity 是 运行 并在它被销毁时重新启用它。
您假设您可以安全地关闭 phone 的一项重要功能,并禁用依赖它的任何其他服务 and/or 应用程序。
这当然是错误的。您应该只对自己的应用做出假设。
所以你真正想做的是禁用重新启动。这可以通过多种方式完成:
- 控制您的主要 Activity 的 launch mode,从而控制您的整个应用程序。
- 通过监控 NFC 状态以及您的应用程序的
Service
正确处理 NFC 意图。根据@Michael 的评论 - 由于您只能将 NFC 意图与 Activity
相关联 - 您必须创建一个非 ui Activity
(不调用 setContentView
) 作为这个 Service
的 BroadcastListener
。
- Tag your app,如@Tristan 所建议。
我要解决的问题如下:
NFC 标签将触发我的应用程序,我从该应用程序启动另一个应用程序。有时会发生的情况是,NFC 标签会移动并且会被 phone "re discovered" 并再次启动我的应用程序。 NFC标签的移动是我无法控制的。
这真的破坏了体验。
我最想做的是,一旦我的应用程序启动,NFC 触发将被禁用或暂停,一旦应用程序关闭 (OnDestroy()),我将启用/取消暂停 NFC 功能。
我找不到如何做到这一点,非常感谢您的帮助。如果您有另一种(代码相关的)方法来解决这个问题,这也很好。
几年前我注意到了这个post:NFC disable adapter 但我希望有另一种解决方案,作为系统应用程序不是一个选项,提示用户禁用 NFC 同样糟糕...
提前致谢。
您可以创建一个 activity-别名来处理意图,disable it 而您的 activity 是 运行 并在它被销毁时重新启用它。
您假设您可以安全地关闭 phone 的一项重要功能,并禁用依赖它的任何其他服务 and/or 应用程序。
这当然是错误的。您应该只对自己的应用做出假设。
所以你真正想做的是禁用重新启动。这可以通过多种方式完成:
- 控制您的主要 Activity 的 launch mode,从而控制您的整个应用程序。
- 通过监控 NFC 状态以及您的应用程序的
Service
正确处理 NFC 意图。根据@Michael 的评论 - 由于您只能将 NFC 意图与Activity
相关联 - 您必须创建一个非 uiActivity
(不调用setContentView
) 作为这个Service
的BroadcastListener
。 - Tag your app,如@Tristan 所建议。