我正在编写不那么复杂的应用程序,但我有一个大问题;)
在我的应用程序中,首先是一些活动,登录页面,nfc 标签阅读器,然后是一些菜单。我的问题是如何在我的第二个活动中捕捉到发现标签的意图而不重新启动活动?使用什么
我正在编写不那么复杂的应用程序,但我有一个大问题;)
在我的应用程序中,首先是一些活动,登录页面,nfc 标签阅读器,然后是一些菜单。我的问题是如何在我的第二个活动中捕捉到发现标签的意图而不重新启动活动?使用什么
仔细查看 NfcAdapter 页面 ( enableForegroundDispatch() ) 中描述的前台调度系统功能。您的活动可以调用一个方法来拦截您感兴趣的标签意图;您的活动优先于所有其他活动。您将在现有活动的 onNewIntent() 回调中收到标签。
您需要使用 enableForegroundDispatch(activity, pendingIntent, null, null),然后确保 pendingIntent 包装了一个带有 SINGLE_TOP 标志的意图。意图应该启动相同的活动,并且因为使用了 SINGLE_TOP,所以将只使用当前在内存中的活动。onNewIntent() 被调用,然后您可以从意图中提取标签。