2012-03-30 135 views
0

我在android中編寫了一個關於NFC的應用程序,但是我遇到了問題。當我將NFC標籤貼近手機時,會出現一個對話框讓我選擇從NFC標籤讀取信息的應用程序。但我不想要這個對話框,我只想當NFC標籤靠近手機時,我寫的應用程序會自動打開。我試圖修改代碼:如何更改打開應用程序的默認方式

<intent-filter android:priority = "100"> 
    <action android:name="android.nfc.action.TECH_DISCOVERED" />     
</intent-filter> 
<meta-data android:name="android.nfc.action.TECH_DISCOVERED" 
    android:resource="@xml/filter_nfc"/> 
+2

你爲什麼假設用戶甚至會想要這樣? Android意圖背後的全部想法是讓用戶選擇他們認爲最好的應用程序。 – Matthias 2012-03-30 14:34:22

+0

這個應用程序是寫給我的公司閱讀NFC標籤中的指定信息,所以我不需要選擇 – 2012-03-30 14:42:46

+0

還不夠公平! – Matthias 2012-03-30 16:20:02

回答

0

的唯一方法爲Android確定要打開哪個應用程序自動,如果Android可以自己讀取標籤的內容。這隻有在標籤遵循NFC論壇類型標籤標準之一併包含NDEF消息時纔有可能。在這種情況下,Android會發送一個ACTION_NDEF_DISCOVERED意圖,其中包含基於標記內容的數據,如URI或MIME類型。您的應用可以基於此聲明意向過濾器來接收這樣的意圖。如果MIME類型或URI是唯一的,那麼您的應用將是唯一匹配並將自動打開的應用。

如果您使用的NFC標籤不包含NDEF消息,那麼您基本上運氣不好。 Android沒有辦法確定比標籤技術更具體的任何內容,並且通常會有多個已訂閱此類意圖的應用程序。因此,應用程序選擇器將呈現給用戶選擇正確的應用程序。

+0

非常感謝 – 2012-04-01 06:58:41

相關問題