Domanda

Sto lavorando su un'app Android che utilizza NFC per aprire un'attività.Quindi abbiamo scritto un tag NFC con specifico tipo di mimo, come nell'esempio API, quindi solo la mia app può aprire i dati in esso.Stava lavorando bene su Android 2.3.3 ad Android 4.0.4.

Ora, dopo aver aggiornato il mio Samsung Galaxy Nexus a Android 4.1 Jelly Bean Il tag NFC non sta più aprindo la mia app.La cosa divertente è che il telefono riconosce il tipo MIME del tag quando lo mostra nel lettore predefinito Android NFC.

Quindi la domanda è ... perché l'app non è stata aperta dal tag NFC in Android 4.1 Jelly Bean?

Il codice intento nel mio 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>
.

Se uso il tipo MIME "Testo / Pianura" nel tag e l'app funziona, ma ho bisogno del mio tipo di mime unica.

Aiuto! Grazie.

È stato utile?

Soluzione

Ho avuto lo stesso problema esatto e capisco che in Jelly Bean, converte il mimetype in tutti i casi più bassi.Vedo che nel tuo tag mimetype ha un "S" in maiuscolo.

Quindi prova questo invece:

mimeType = "application/com.android.barcodescanner"

Spero che questo aiuti :)

Altri suggerimenti

In Jellybean, il rilevamento NDEF e l'analisi dei tag è stato migliorato e diventa più severo.Probabilmente il tuo messaggio NDEF è in qualche modo non valido.Controllare ad esempio il valore della lunghezza del carico utile all'interno del messaggio NDEF e confrontalo con la lunghezza del messaggio NDEF totale come memorizzato sul tag.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top