2011-06-30 22 views
0

我正在製作一款帶有發現nfc的Android應用程序。 當我發現一個NFC標籤時,我必須選擇應用程序(默認的Android應用程序和我的應用程序)。如何使用Android中的相同意圖過濾器強制執行一項活動?

我可以在我的Android系統應用程序中做什麼不要問什麼應用程序我打開什麼? 我的想法是啓動我的應用程序默認。

<activity android:name=".Test"> 
     <intent-filter> 
      <action android:name="android.nfc.action.TAG_DISCOVERED"/> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

回答

0

這似乎在Android上的應用程序本身不能將自己設置成爲默認的處理程序,而是依靠用戶來選擇的動作,如果有多個選項,並沒有指定的默認。

該應用程序選擇框應該有一個複選框,表示沿着「默認使用此應用程序」的行。如果用戶每次想要使用您的應用程序,則由用戶自行選擇。

+0

我不能更改每次發射我aplication任何設置?我認爲存在一個方式來點它。 TKS –

0

使用意圖過濾器中的「data」元素來定義自定義MIME類型。

<intent-filter> 
    <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 
    <data android:mimeType="application/com.example.package" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

您可以將此意圖過濾器添加到要啓動的任何活動。您甚至可以將此作爲附加過濾器與啓動過濾器一起添加到啓動器活動中。

如果你這樣做,你可以使用下面的代碼,以確定您的活動是由NFC或啓動圖標啓動:

Intent intent = getIntent(); 
if (intent.getType() != null && intent.getType().equals("application/com.example.package")) { 
// app is launched from NFC 
} else { 
// app is launched from launcher icon 
} 
相關問題