发现自定义格式的nfc标记时打开我的应用程序

时间:2012-06-24 19:05:31

标签: android android-intent android-activity nfc intentfilter

我正在为库存管理制作应用程序。每个stock_item都有一个标签,带有唯一标识符,带有custom_format。 像这样:

stock_manager_pro:stock_item:12345

stock_manager_pro:user:john

当设备发现内容以 stock_manager_pro

开头的标记时,我想自动打开我的应用

使用此代码,我的应用程序会在手机发现带有普通/文本内容的nfc标签时打开,但我希望能够过滤客户文本。

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

2 个答案:

答案 0 :(得分:3)

我正在研究同样的问题...... 我发现你应该制作自己的自定义MIME类型。 并在清单文件中您应该删除

<action android:name="android.nfc.action.NDEF_DISCOVERED"/> 

例如

<intent-filter >
   <!--  <action   android:name="android.nfc.action.NDEF_DISCOVERED" />-->
   <category android:name="android.intent.category.DEFAULT" />
   <data android:mimeType="application/vnd.com.nfctagwriter" />
</intent-filter>

答案 1 :(得分:0)

您可以添加自己的mime类型,并且它不必拥有完全合格的&#34;应用程序&#34;在开始。它也理解&#34; app / customname&#34; ..这对于保持较小的数据量很有用。

例如堆栈溢出mime类型可以是&#34; app / so&#34;而不是&#34; application / stackoverflow&#34;。

虽然我猜这取决于你觉得别人会使用&#34; app / so&#34;的可能性。在我们的例子中,它并不重要,因为我们只在内部使用它。