programacion - manual de android en pdf
Manera adecuada de cerrar una conexión de accesorio USB (2)
¿Cuál es la forma correcta de cerrar una conexión a un UsbAccessory
en Android? Parece que incluso en el ejemplo de Google de acciones, si me conecto con un accesorio, salgo de la aplicación y luego vuelvo a ella, la conexión no se restablece.
Mirando de cerca, parece que después de llamar a close()
en el FileDescriptor
, no se abrirá de nuevo, y se emitirá un registro "no se pudo abrir / dev / usb_accessory". NO llamar a close()
es una opción incorrecta, ya que el bloqueo de subprocesos en read()
no se liberará. Tras la desconexión física / reconexión del dispositivo, todo está bien.
Parece realmente sorprendente que el simple caso de uso de salir de la aplicación y luego abrirla de nuevo no funcione en la aplicación de referencia y aún más sorprendente si no es posible.
Estoy usando un stock de Nexus S con Android 2.3.6.
El problema es que el hilo de lectura nunca se cierra, por lo que el descriptor del archivo permanece abierto y no puede abrirse nuevamente cuando se reanuda la aplicación.
Se ha confirmado que esto es un error: http://code.google.com/p/android/issues/detail?id=20545
Vota por este error si te importa.
intente volver a conectar dos veces si parece que la primera vez que no tenga éxito cerrará la conexión y luego intente abrirla ¡funcionará! ¡Para mí funcionó!