【问题标题】:Android intent-filter for multiple NFC types适用于多种 NFC 类型的 Android 意图过滤器
【发布时间】:2014-11-06 00:34:27
【问题描述】:

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

我希望能够从 Android 手机读取和写入这两种类型。

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

谢谢。

<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>

【问题讨论】:

    标签: android nfc intentfilter ndef


    【解决方案1】:

    当你想匹配或者一个URI(这就是外部类型名称在意图中传递的方式)或者一个MIME类型(文本/纯文本),你需要为它们声明两个单独的意图过滤器。否则,Android 的 Intent 过滤器匹配逻辑只会尝试匹配同时包含 URI 和 MIME 类型的 Intent。

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多