Правильный способ подключения USB-аксессуаров
Каким образом можно закрыть соединение с UsbAccessory
в Android?
Похоже, что даже в примере на складе Google, если я подключу и аксессуар, выйдите из приложения, а затем вернитесь к нему, соединение не будет восстановлено.
Вглядываясь в глаза, кажется, что после вызова close()
в FileDescriptor
он не будет открыт снова, и будет выведен журнал "не удалось открыть /dev/usb _accessory".
НЕ вызывать close()
является неправильной опцией, поскольку блокировка потока на read()
не будет выпущена. При физическом отключении/повторном подключении устройства все в порядке.
Кажется действительно удивительным, что простой случай использования приложения, а затем его открытие снова не работает в справочном приложении и даже более удивительно, если это невозможно.
Я использую Android Nexus S под управлением Android 2.3.6.
Ответы
Ответ 1
Проблема заключается в том, что поток чтения никогда не выходит, поэтому файловый дескриптор остается открытым и не может быть снова открыт, когда приложение возобновлено.
Это подтверждено как ошибка:
http://code.google.com/p/android/issues/detail?id=20545
Проголосуйте об этой ошибке, если вам это нравится.
Ответ 2
попытайтесь повторно подключиться
он швы, что в первый раз, когда это не удастся, закроет соединение, а затем попробую еще раз открыть его, это сработает!
для меня это сработало!