2016-01-21 47 views
0

我在我的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,但打開的應用程序仍然存在,所以它就像我有我的應用程序的兩個實例。 –

回答

0

編輯:我以爲標誌解決我的問題,但顯然我沒有正確測試它。真正的解決我的問題是添加android:launchMode="singleTask"我的活動清單文件。

當我返回時添加了FLAG_ACTIVITY_NEW_TASK標誌給我的意圖,並解決了我的問題。

startActivity(new Intent(this, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK)) 
相關問題