如果使用NFC打开其他活动,请关闭该应用程序?
问题描述:
我在我的TagActivity中使用了TAG_DISCOVERED操作,如果我的应用程序已经打开,我想在我的TagActivity打开之前关闭它。但是,当我的TagActivity使用NFC打开时,我添加了一些逻辑,以便在按下后退按钮时导航至主要活动,但已打开的应用程序仍然存在,当我关闭导航的主应用程序时,它再次显示我之前打开的应用程序。如何使用nfc打开我的TagActivity,如何关闭应用程序?如果使用NFC打开其他活动,请关闭该应用程序?
<activity
android:name=".activities.TagActivity"
android:screenOrientation="portrait" >
<!--Registering app for receiving NFC's TAG_DISCOVERED intent-->
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
答
编辑:我以为标志解决我的问题,但显然我没有正确测试它。真正的解决我的问题是添加android:launchMode="singleTask"
到我的活动在清单文件。
当我返回时添加了FLAG_ACTIVITY_NEW_TASK标志给我的意图,并解决了我的问题。
startActivity(new Intent(this, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK))
您的意思是关闭应用程序?您是否想要关闭其他不属于您的或其他应用程序?您只想关闭应用程序中的活动? – Opiatefuchs
不,其他应用程序,只有我想关闭我的应用程序(所有打开的活动属于我的应用程序),所以当我的TagActivity触发TAG_DISCOVERED操作时,只应该打开该TagActivity。 –
当我的应用程序未打开时,使用NFC打开TagActivity时完全正常。然而,当我的应用程序打开,当我点击我的Nfc标签到设备,它打开我的TagActivity,但打开的应用程序仍然存在,所以它就像我有我的应用程序的两个实例。 –