如果使用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> 
+0

您的意思是关闭应用程序?您是否想要关闭其他不属于您的或其他应用程序?您只想关闭应用程序中的活动? – Opiatefuchs

+0

不,其他应用程序,只有我想关闭我的应用程序(所有打开的活动属于我的应用程序),所以当我的TagActivity触发TAG_DISCOVERED操作时,只应该打开该TagActivity。 –

+0

当我的应用程序未打开时,使用NFC打开TagActivity时完全正常。然而,当我的应用程序打开,当我点击我的Nfc标签到设备,它打开我的TagActivity,但打开的应用程序仍然存在,所以它就像我有我的应用程序的两个实例。 –

编辑:我以为标志解决我的问题,但显然我没有正确测试它。真正的解决我的问题是添加android:launchMode="singleTask"我的活动清单文件。

当我返回时添加了FLAG_ACTIVITY_NEW_TASK标志给我的意图,并解决了我的问题。

startActivity(new Intent(this, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK))