Desarrollo una aplicación de Android para leer/escribir en tarjetas inteligentes sin contacto a través de NFC. Necesito detectar cuando la tarjeta está fuera de rango. traté de usar
NFCAdapter.OnTagRemovedListener{ card_connected2.visibility = View.VISIBLE card_connectedgreen.visibility = View.GONE Toast.makeText(this@InquiryActivity, "card is disconnected", Toast.LENGTH_LONG).show() } pero esto parece incorrecto y no funciona. También leí sobre NfcAdapter.ignore() , pero no puedo encontrar ningún ejemplo sobre cómo usarlo. ¿Cómo puedo hacer que funcione la devolución de llamada anterior?
La interfaz OnTagRemovedListener se usa para especificar la devolución de llamada para el método NfcAdapter.ignore() . En consecuencia, debe llamar a ignore() con la devolución de llamada deseada. Por ejemplo, si desea ejecutar el código anterior, con un tiempo de espera de rebote de 1000 ms, podría usar algo como esto:
// nfcAdapter: your instance of the NfcAdapter // tag: the tag handle that you obtained from the NFC intent or the onTagDetected() callback nfcAdapter.ignore(tag, 1000, NfcAdapter.OnTagRemovedListener { card_connected2.visibility = View.VISIBLE card_connectedgreen.visibility = View.GONE Toast.makeText(this@InquiryActivity, "card is disconnected", Toast.LENGTH_LONG).show() }, Handler(Looper.getMainLooper())) Tenga en cuenta que nfcAdapter y la tag deben definirse en consecuencia. La función de devolución de llamada se invocará en el subproceso principal (IU).