Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
适用于多种NFC类型的Android意向过滤器_Android_Nfc_Intentfilter_Ndef - Fatal编程技术网

适用于多种NFC类型的Android意向过滤器

适用于多种NFC类型的Android意向过滤器,android,nfc,intentfilter,ndef,Android,Nfc,Intentfilter,Ndef,有人能解释为多种类型的NDEF记录设置意图过滤器的语法吗?我有一个Android应用程序,它使用一个“外部”类型记录将二进制数据写入NFC标记,但随后该标记连接到一个主机,主机以一个mimeType“text/plain”响应 我想能够读写这两种类型的Android手机 如果我只为一种类型设置了意图过滤器,并且标记数据对应,我可以读取其中一种(文本/普通或ext),但我不知道如何修改清单,以便为其中任何一种类型打开应用程序 多谢各位 <activity android:name="

有人能解释为多种类型的NDEF记录设置意图过滤器的语法吗?我有一个Android应用程序,它使用一个“外部”类型记录将二进制数据写入NFC标记,但随后该标记连接到一个主机,主机以一个mimeType“text/plain”响应

我想能够读写这两种类型的Android手机

如果我只为一种类型设置了意图过滤器,并且标记数据对应,我可以读取其中一种(文本/普通或ext),但我不知道如何修改清单,以便为其中任何一种类型打开应用程序

多谢各位

<activity
    android:name="com.example.mYapp.MainActivity"
    android:label="@string/app_name" 
    android:screenOrientation="portrait"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
        <!-- <data android:mimeType="text/plain" /> -->
        <data android:pathPrefix="/prefix:r" android:host="ext" android:scheme="vnd.android.nfc" />
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

如果要匹配URI(外部类型名称在意图中的传递方式)或MIME类型(文本/普通),则需要为它们声明两个单独的意图过滤器。否则,Android的意图过滤器匹配逻辑将只尝试匹配同时包含URI和MIME类型的意图

<activity ...>
    <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:pathPrefix="/prefix:r" android:host="ext" android:scheme="vnd.android.nfc" />
    </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>
</activity>