Manera correcta de cerrar una conexión de accesorio USB

¿Cuál es la forma correcta de cerrar una conexión a un UsbAccessory en Android? Parece que incluso en el ejemplo de Google stock, si me conecto y accesorio, salir de la aplicación y luego volver 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 no se podrá abrir el archivo / dev / usb_accessory. NO llamar a close() es una mala opción, ya que un bloqueo de subprocesos en read() no se liberará. Tras la desconexión / reconexión física del dispositivo todo está bien.

Parece realmente sorprendente que el simple caso de uso de salir de la aplicación y luego abrir de nuevo no funciona en la aplicación de referencia y aún más sorprendente si no es factible.

Estoy usando un Nexus S en ejecución Android 2.3.6.

El problema es que el subproceso de lectura nunca sale, por lo que el descriptor de archivo permanece abierto y no se puede abrir de nuevo cuando se reanuda la aplicación.

Se ha confirmado que se trata de un error: http://code.google.com/p/android/issues/detail?id=20545

Vota sobre este error si te importa.

Trate de reconectar el doble de costuras que la primera vez que no se va a cerrar la conexión y luego intente de nuevo para abrirlo funcionará! Para mí funcionó!

  • Controlador Prestigio Multipad PMP3370B USB
  • ¿Es posible compartir mi conexión a internet de pc a android via usb?
  • Lectura / escritura de USB de Android a PC
  • Tarjeta SD no disponible mientras está en modo de depuración USB en DroidX
  • Controladores de "modo blando" del modo de host USB de Android para dispositivos USB estándar compatibles con la clase
  • Comunicación con el host USB de Android
  • Modo host Android y modo accesorio
  • Android Studio 2.0 No se detectaron dispositivos USB
  • HttpClient de Android que envía la petición a la máquina de anfitrión sobre USB
  • Recibir Datos de Host Usb para Android
  • Transferencia de datos USB
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.