假设我有2个活动:如何避免启动支持NFC的应用程序?
- MainActivity和
- SecondActivity。
我想要实现的是通过发现NFC标签从MainActivity传递到SecondActivity。我通过将意向过滤器添加到SecondActivity标记下的清单来实现它。
但我的问题是,应用程序将启动并着陆到第二个活动,即使应用程序被杀害。基本上,我希望标签发现只在我进入主要活动时发生(点击按钮开始阅读之后)。
我试着在MainActivity的onCreate()
方法中以编程方式添加intent-filter,并覆盖了onNewIntent()
方法,但没有运气。
我也尝试将launchMode设置为“singleTop”,但没有成功。
以下是我加入到在MainActivity的onCreate()
方法:
adapter = NfcAdapter.getDefaultAdapter(this);
pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
IntentFilter tagDetected = new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED);
tagDetected.addCategory(Intent.CATEGORY_DEFAULT);
writeTagFilters = new IntentFilter[] { tagDetected };