2013-06-25 46 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