0

NFCを使用してアクティビティを開くAndroidアプリに取り組んでいます。そのため、APIの例のように、特定のMIMEタイプでNFCタグを作成しました。これにより、アプリでのみデータを開くことができます。Android2.3.3からAndroid4.0.4では問題なく動作していました。

これで、SamsungGalaxyNexusをAndroid4.1Jelly Beanにアップグレードした後、NFCタグでアプリが開かなくなりました。面白いのは、デフォルトのandroid nfcリーダーに表示されたときに、電話がタグのmimeタイプを認識することです。

だから問題は...なぜアプリはAndroid4.1JellyBeanのNFCタグによって開かれないのですか?

AndroidMenifest.XMLのインテントコード:

    <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タイプが必要です。

助けてください!ありがとう。

4

2 に答える 2

3

私はまったく同じ問題を抱えていました.Jelly Beanでは、MIMEタイプがすべて小文字に変換されることがわかりました。mimetype タグに大文字が含まれていることがわかります"S"

代わりにこれを試してください:

mimeType = "application/com.android.barcodescanner"

お役に立てれば :)

于 2012-10-20T19:38:37.087 に答える
0

JellyBean では、NDEF の検出とタグからの解析が改善され、より厳密になりました。おそらく、あなたの NDEF メッセージは何らかの形で無効です。たとえば、NDEF メッセージ内のペイロード長の値を確認し、それをタグに格納されている NDEF メッセージの合計長と比較します。

于 2012-08-06T12:50:44.353 に答える