2013-10-26 85 views
0

我有活動A,即主要活動B和另一項活動,我將其用於該應用。現在,我只想在NFC標籤調用時執行應用程序B.只有在被NFC調用後才能開始活動

我寫了一個運行應用程序com.test.nfc的NFC標籤「(這是我的測試應用程序的包)。它可以工作,但它當然運行MAIN(活動A),而不是我想。

如果我使用NFC我想,主要的應用程序將成爲活動B(我重複,只有當我運行帶有NFC應用程序)。有什麼辦法?

我嘗試啓動活動使用PlayStore的Tasker應用程序,但它只適用於這個應用程序安裝,如果我卸載它,它不再工作了

回答

1

只需設置你想運行的活動的意圖過濾器只有NFC然後在您的manifest.xml中

<activity 
     android:name="com.activity.a" 
     android:label="@string/app_name" 

     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.activity.b" 
     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data 
       android:host="ext" 
       android:pathPrefix="/com.example:ddcnfc" 
       android:scheme="vnd.android.nfc" /> 
     </intent-filter> 
    </activity> 

在上面的示例中,活動A從啓動器運行,活動B從NFC運行。

在activty B級的函數的onResume

然後,

@Override 
public void onResume() { 
    super.onResume(); 
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) { 
     //Your initialization goes here 
    } 
}