Ocultar error "Tipo de etiqueta NFC no admitido" en los dispositivos Samsung Galaxy
Estoy trabajando en una aplicación que escanea sólo el UID de tarjetas MIFARE Classic para facilitar el registro de asistencia. Lo tengo trabajando. Sin embargo, cada vez que escaneo una tarjeta en mi Galaxy S4, obtengo un tostado que indica "tipo de etiqueta NFC no compatible" en lugar de obtener el UID de la etiqueta.
Quiero bloquear u ocultar ese mensaje mientras la aplicación está abierta.
- LocalStorage html5 no funciona en WebView en el dispositivo Samsung Android
- ¿Cuántas tiendas de aplicaciones de Android para enviar ...?
- "Window Manager Crash" al enviar la tecla 'Abajo' en el Samsung Galaxy S
- GLES10.glGetIntegerv devuelve 0 en el dispositivo Samsung
- Cómo deshabilitar las opciones de desarrollador en samsung galaxy s4?
Me di cuenta de que había otra pregunta pidiendo lo mismo en un Galaxy S6, pero fue votado una vez y luego ignorado.
He encontrado esta conversación en el foro de desarrolladores de Samsung, sin embargo, no pude extraer una respuesta de lo que está escrito allí:
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) { myTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); tagID = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID); alertDialog.dismiss();
Parece que la sección alertDialog.dismiss()
es lo que necesito, pero no hay ninguna explicación de dónde obtuvieron el objeto alertDialog
.
- Emulador para galaxia s3
- Tamaño de pantalla en Samsung Tablet 10.1
- Samsung Count Badge
- Android httpclient.execute excepción
- AssetManager $ AssetInputStream.finalize () se ha agotado después de 10 segundos
- Android Socket problema en Samsung Galaxy S4 (SGS4)
- Eclipse Android SDK no puede ver el nuevo dispositivo Samsung Galaxy S4 a través de una conexión USB
- ¿Cómo la aplicación android puede detectar qué tienda lo instaló?
Antes de Android 4.4
Lo que está intentando hacer simplemente no es posible desde una aplicación (al menos no en un dispositivo no enraizado / no modificado). El sistema de Android (o más específicamente el servicio del sistema NFC) muestra el mensaje "Tipo de etiqueta NFC no admitido" antes y en lugar de enviar la etiqueta a su aplicación. Esto significa que el servicio del sistema NFC filtra las etiquetas MIFARE Classic y nunca notifica ninguna aplicación sobre ellas. En consecuencia, su aplicación no puede detectar las etiquetas MIFARE Classic ni eludir ese mensaje emergente.
En un dispositivo con raíz, es posible que pueda omitir el mensaje utilizando
- Xposed para modificar el comportamiento del servicio NFC, o
-
El servicio del sistema NFC deshabilita la ventana emergente y envía las etiquetas MIFARE Classic a las aplicaciones si la característica CSC
<CscFeature_NFC_EnableSecurityPromptPopup>
se establece en cualquier valor, pero " Mifareclassic "o" all ", por ejemplo:<CscFeature_NFC_EnableSecurityPromptPopup>NONE</CscFeature_NFC_EnableSecurityPromptPopup>
Puede agregar esta entrada, por ejemplo, al archivo "/system/csc/others.xml" (dentro de la sección
<FeatureSet> ... </FeatureSet>
que ya existe en ese archivo).
Desde entonces, usted pidió el Galaxy S6 (la pregunta que usted enlazó ) también: He probado este método en el S4 cuando salió. He verificado si esto todavía funciona en el último firmware o en otros dispositivos (por ejemplo, el S6).
Desde Android 4.4
Esto es pura adivinanza, pero según esto , parece que algunas aplicaciones (por ejemplo, NXP TagInfo) son capaces de detectar las etiquetas MIFARE Classic en dispositivos Samsung afectados desde Android 4.4. Esto podría significar que las aplicaciones de primer plano son capaces de ignorar esa ventana emergente utilizando la API de modo de lectura ( véase NfcAdapter.enableReaderMode
) posiblemente en combinación con NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK
.
Si usted está recibiendo este error en un Samsung S6 o lo que sea, puede deshacerse del mensaje de error por ir a:
- Configuración> (el diente en la parte superior derecha de las notificaciones)
- Conexiones> (1ª opción)
- NFC y pago (opción de sexta opción, apagar esto)
- ¿Cómo hacer TextView en Android envolver y ajustar el texto maravillosamente?
- (Entrada zip duplicada ))