2012-02-09 5 views
5

Ho creato un'applicazione che analizza i tag con lo scanner NFC. Invece dell'app Tag predefinita, la mia app inizia quando viene letta una carta.Android: Nuovo tag raccolto - Tipo di tag sconosciuto

Funziona tutto, ma c'è una cosa che è piuttosto fastidioso: quando la scansione di una scheda molto veloce, la mia domanda non sembrano rispondere, ma l'applicazione di default Tag apre (vedi https://i.stack.imgur.com/lGwiM.png). C'è un modo per disattivare l'app predefinita o per avviare la mia app più veloce?

+0

Cosa intenti vengono visualizzati nel logcat? Puoi incollare l'output qui? Che cosa intendi con la scansione molto veloce, allontani rapidamente il telefono prima che abbia la possibilità di ottenere tutti i dati? Questo potrebbe essere il motivo. – robertly

+0

Questo è ciò che ricevo: 02-10 11: 30: 32.023: I/ActivityManager (109): Starting: Intent {act = android.nfc.action.TECH_DISCOVERED flg = 0x10000000 cmp = com.google.android.tag /com.android.apps.tag.TagViewer (ha extra)} da pid 194 02-10 11: 30: 32.312: I/ActivityManager (109): Starting: Intent {act = android.intent.action.VIEW dat = contenuto: //com.android.apps.tag/ndef_msgs/19 flg = 0x4000000 cmp = com.google.android.tag/com.android.apps.tag.TagViewer (ha extra)} da pid -1 Sì, intendevo quando sposto il telefono velocemente. So che è la causa, ma voglio che venga mostrata la mia app. – pimd

risposta

1

Presumo che si filtri per NDEF_DISCOVERED nella tua app attualmente e questo è il caso che funziona. In tal caso, aggiungerei un intento TECH_DISCOVERED per ora, assicurandoti di aggiungere una tecnologia supportata dalla tua scheda in modo che la tua app possa prendere questo caso d'angolo. Dal logcat, non riesco a capire quale sia la tecnologia di questo tag, quindi non posso aiutarti a capirlo.

Dopo che l'app può filtrare per TECH_DISCOVERED, leggere i dati sul tag e vedere se ha effettivamente il carico utile completo. In caso contrario, ciò suggerirebbe che la scansione non raccoglieva l'intero carico utile e che spostare rapidamente il telefono è una limitazione dello stesso NFC. Se il carico utile è il carico utile completo, allora considererei questo un bug. Si prega di segnalare.

+0

Il problema è probabilmente dovuto al fatto che il telefono non ha abbastanza tempo per controllare la scheda per i dati NDEF. Poiché la carta è scomparsa prematuramente, non c'è una soluzione reale qui. Dato che NDEF_DISCOVERED è destinato a non dipendere da una tecnologia specifica (NfcA, NfcB, IsoDep, NfcF, NfcV), non aggiungerei un filtro di intenti TECH_DISCOVERED per questo caso. –

+0

Qualche soluzione a questo problema? Ho un problema simile adesso. – Doszi89

7

Vai in Impostazioni -> Applicazioni -> Tutti -> Etichette (nel mio caso) -> disabilitarlo

+1

Sì, sì! Il mio non era sconosciuto ma stava prendendo tutto ... – TWiStErRob

+0

sì disabilitando i tag dalle impostazioni risolverà il tuo problema – Rajkumar