【问题标题】:How specify mimeType for read nfc tag with url如何使用 url 为读取 nfc 标签指定 mimeType
【发布时间】:2011-08-18 21:21:15
【问题描述】:

我有一个 Uri NFC TAG:pay://myName/12345

在我的意图过滤器中,我有:

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED" />
    <data android:mimeType="text/plain" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

如何指定 MIME-Type 的数据以在没有应用选择器的情况下启动我的应用?

【问题讨论】:

    标签: android mime-types nfc


    【解决方案1】:

    好吧,理想情况下,您不会发明这样的非标准方案。最好创建一个带有指向网页的 HTTP URL 的标签,您有一个 Android 活动也处理该 URL - Android 活动的&lt;intent-filter&gt; 将更具体,因此在安装时将优先。这样一来,标签适用于更多设备。

    话虽如此,无论 URL 语法如何,请使用适当的 &lt;data&gt; 元素。不要使用android:mimeType,而是使用android:scheme 和其他属性。

    Here is a sample project 允许用户将 URL 写入符合 NDEF 的标记(通过浏览器中的共享选项菜单项共享)。如果您将特定 URL 写入标签,则应用程序还会在扫描标签时启动一个活动,由以下清单条目提供:

        <activity android:name="URLHandler"
                  android:label="@string/app_name">
            <intent-filter android:label="@string/app_name">
              <action android:name="android.nfc.action.NDEF_DISCOVERED" />
              <data android:scheme="http"
                    android:host="commonsware.com"
                    android:path="/nfctest"
              />
              <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    

    【讨论】:

    • 非常感谢。这正是我正在搜索和工作的内容:) 谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-01-06
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多