2013-06-25 75 views
0

我使用NFC標籤進行應用程序啓動。但是當其他活動正在運行時,我將標籤觸摸到設備,NFC應用程序將再次啓動。Android - NFC標籤檢測用戶在某些其他活動中

清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.test.testnfc" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="14" /> 

    <uses-permission android:name="android.permission.NFC" /> 

    <uses-feature 
     android:name="android.hardware.nfc" 
     android:required="true" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.test.testnfc.TestNFCActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.test.testnfc.NFCLoginActivity" 
      android:label="@string/app_name" 
      android:launchMode="singleTask" > 
      <intent-filter> 
       <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 
       <category android:name="android.intent.category.DEFAULT" /> 



      </intent-filter> 

     </activity> 
     <activity android:name="com.test.testnfc.FirstActivity" > 
     </activity> 
     <activity android:name="com.test.testnfc.SecondActivity" > 
     </activity> 
     <activity android:name="com.test.testnfc.ThirdActivity" > 
     </activity> 
     <activity android:name="com.test.testnfc.FourthActivity" > 
     </activity> 
     <activity android:name="com.test.testnfc.FifthActivity" > 
     </activity> 
    </application> 

</manifest> 

我不想this.Instead應該留在同一個活動。 對此有何想法?

回答

2

將用於NFC檢測的意圖過濾器移到服務中,以便在發現標記時啓動服務而不是活動。

然後,您可以使用服務來決定要執行的操作以及要啓動的活動。

+0

感謝您的回覆。你有這樣的例子嗎? – mindus

+0

@Raghav Sood我有同樣的問題會幫助我。 –

0

嘗試在清單設置該屬性爲活動:

android:clearTaskOnLaunch="true" 
android:launchMode="singleTop" 

希望這將有助於。

+0

沒有運氣....,同樣的問題 – mindus