Android NFC类型默认应用程序
我刚开始在NFC工作。扫描NFC标签时,默认情况下会打开我的应用程序,但我有两个问题:Android NFC类型默认应用程序,android,android-intent,nfc,intentfilter,ndef,Android,Android Intent,Nfc,Intentfilter,Ndef,我刚开始在NFC工作。扫描NFC标签时,默认情况下会打开我的应用程序,但我有两个问题: 由于某些原因,我无法在launcher应用程序浏览器中看到我的应用程序 我如何定义仅当NFC为URL类型时才打开应用程序 第一个问题(应用程序未在launcher中显示)是由于多个筛选条件在一个部分中组合的方式造成的(请参阅)。您可以通过将目标筛选拆分为单独的部分来轻松克服这一问题: <intent-filter> <action android:name="android
部分中组合的方式造成的(请参阅)。您可以通过将目标筛选拆分为单独的
部分来轻松克服这一问题:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
,您将使用以下意图过滤器:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="https" android:host="stackoverflow.com" />
</intent-filter>
非常感谢您提供的详细答案!如果我只想在特定文本上打开应用程序,您能给我一个例子吗?@Dim
只允许对数据类型进行过滤,而不允许对特定数据负载(例如文本值)进行过滤。您可以使用NFC论坛外部类型(根据类型名称进行过滤)、URI记录(根据URL前缀过滤),或自定义MIME类型记录。
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="https" android:host="stackoverflow.com" />
</intent-filter>