NFC标签无法在Android 4.1 Jelly Bean中打开应用程序

时间:2012-07-28 21:05:06

标签: android nfc android-4.2-jelly-bean ndef

我正在开发一款使用NFC打开活动的Android应用。因此,我们编写了一个具有特定MIME类型的NFC标记,就像在API示例中一样,因此只有我的应用可以打开其中的数据。它在Android 2.3.3到Android 4.0.4上运行得很好。

现在,在我将Samsung Galaxy Nexus升级到Android 4.1 Jelly Bean后,NFC标签不再打开我的应用程序了。有趣的是,当手机在默认的android nfc阅读器中显示时,手机会识别标签的mime类型。

所以问题是......为什么Android 4.1 Jelly Bean中的NFC标签没有打开应用程序?

我的AndroidMenifest.XML中的Intent代码:

    <activity 
        android:name=".ActivityToOpenWithNfcTag"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/com.android.barcodeScanner" />
        </intent-filter>
    </activity>

如果我在标签和应用程序中使用“text / plain”mime类型,但我需要我唯一的mime类型。

请帮忙! 感谢。

2 个答案:

答案 0 :(得分:3)

我有同样的问题,我发现在Jelly Bean中,它将mimetype转换为所有较低的情况。我在你的mimetype标签中看到它有一个大写的"S"

所以试试这个:

mimeType = "application/com.android.barcodescanner"

希望这会有所帮助:)

答案 1 :(得分:0)

在JellyBean中,标签的NDEF检测和解析已得到改进并变得更加严格。可能你的NDEF消息在某种程度上是无效的。检查NDEF消息中的有效负载长度值,并将其与存储在标记上的NDEF消息总长度进行比较。