好的......所以我觉得标题有点令人困惑。所以我会解释: 我有一个NFC应用程序,我在活动A中处理NDEF_DISCOVERED成功。然后启动一项新活动(B)。 在这个新活动(B)中,我希望能够捕获另一个标记并让活动A像以前一样处理它,所以我使用OnNewIntent来获取标记的这个意图并想要启动活动A. 但是如果我用传统的myIntent = new Intent(this,A.class)调用startActivity(myIntent),那么活动A就会使用这个myIntent进行激活,我希望活动A能够处理活动B上“捕获”的标记意图。
我该怎么做?
感谢。
答案 0 :(得分:1)
您应该能够将活动B中的标记意图添加到myintent.addExtra("tagkey", tagIntent)的传统意图中。因为Intent实现了Parcelable,所以它将被添加为Parcelable extra。然后在活动A的onCreate()中输入类似:
的内容Intent intent = getIntent();
if (intent.hasExtra("tagkey")) {
setIntent(intent.getParcelableExtra("tagkey")
}
将字符串“tagkey”替换为与您自己的代码最相关的内容。您也可以在onNewIntent()中添加类似的代码段。
答案 1 :(得分:0)
如果NDEF消息类型足够具体,只有您的活动A将匹配它,您可以在此活动的Android清单的活动部分设置'android:launchMode =“singleTask”'。每当您使用相同类型的NDEF消息扫描新标记时,活动B将被关闭。