簡體   English   中英

如何更改打開應用程序的默認方式

[英]How to change the default way to open application

我在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"/>   

當您設置唯一的uri ..時,它將打開您的應用程序,而不是其他應用程序。http: //developer.android.com/guide/topics/nfc/nfc.html#ndef

Android確定自動打開哪個應用程序的唯一方法是Android是否可以讀取標簽內容。 僅當標簽遵循NFC論壇類型標簽標准之一並且包含NDEF消息時,才有可能。 在這種情況下,Android將發送ACTION_NDEF_DISCOVERED意圖,其中包含基於標記內容的數據,例如URI或MIME類型。 您的應用可以基於此聲明一個意圖過濾器以接收此類意圖。 如果MIME類型或URI是唯一的,則您的應用程序將是唯一匹配的應用程序,並會自動打開。

如果您正在使用的NFC標簽不包含NDEF消息,則說明您基本上不走運。 Android無法確定比標簽技術更具體的內容,並且經常會有多個應用程序訂閱了這些意圖。 因此,將向用戶顯示一個應用選擇器,以選擇合適的應用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM