编程语言
首页 > 编程语言> > Android:如何在我的应用程序的不同活动中临时处理Intent?

Android:如何在我的应用程序的不同活动中临时处理Intent?

作者:互联网

我正在开发一个支持NFC的应用程序.今天我在清单中有一个intent-filter用于处理具有NDEF记录的NFC“颠簸”:

<intent-filter>
  <action android:name="android.nfc.action.NDEF_DISCOVERED" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:scheme="wifi" />
  <data android:scheme="socket" />
</intent-filter>

这很好用.

该应用程序具有“选择项目”活动和“查看”活动.按照目前的编写,Intent是在我的“选择项目”活动的上下文中处理的.但是,当应用程序处于“查看”活动时,我希望“视图”处理任何NFC意图而不是“选择项目”活动.当“视图”活动不再在堆栈上时,我希望任何NFC“颠簸”再次由“选择项目”活动处理.

实现这一目标的最佳方式是什么?另请注意,我不希望在这种情况下看到“哪个应用程序/活动”选择器弹出,因为这会使体验特别繁琐和令人困惑.

解决方法:

当您的活动(“查看”或“选择项目”)位于前台时,您可以使用前台调度来检测新标记.请参阅NfcAdapter的enableForegroundDispatch()方法.使用前台调度注册的活动将优先于应用清单中的intent过滤器.

标签:ndef,android,android-intent,nfc
来源: https://codeday.me/bug/20191003/1849344.html