3

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

stock_manager_pro:stock_item:12345

或者

stock_manager_pro:用户:约翰

我想让我的应用程序在设备发现其内容以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>
4

2 回答 2

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>
于 2012-10-09T07:58:41.207 回答
0

您可以添加自己的 mime 类型,并且它不必在开始时具有完全限定的“应用程序”。它还理解“应用程序/自定义名称”.. 这对于保持较小的数据大小很有用。

例如,堆栈溢出 mime 类型可以是“app/so”而不是“application/stackoverflow”。

虽然我猜这取决于你觉得其他人使用“app/so”的可能性有多大。在我们的例子中,这并不重要,因为我们只是在内部使用它。

于 2013-05-27T06:02:22.903 回答