私は、Android デバイスと通信する既存のデバイスを取得することに取り組んでいます。このデバイスは、USB 通信にjavax.usb (libusb の上に構築されている) を使用しており、それを使用してAndroid オープン アクセサリ プロトコルを実装しようとしています。現在、デバイスは Android デバイスを認識しており、Android デバイスをアプリケーションに登録しています。しかし、私がしようとすると:
アクセサリ モードでの起動を試みる - 51 コントロール リクエスト ("Get Protocol") を送信して、デバイスが Android アクセサリ プロトコルをサポートしているかどうかを確認します。
UsbStallException が発生し、アプリが停止します。USBに関しては、これを読んでいるとうまくいくはずです。
関連するコードは次のとおりです。
byte req = (byte) (0x80 | 0x40);
UsbControlIrp irp = usbDev.createUsbControlIrp(req, (byte)51, (short)0, (short)0);
usbDev.syncSubmit(irp);
私が間違っていることについての洞察をいただければ幸いです。
PS: これを実行しているデバイスは 1.4 JVM を使用しているため、ソリューションはそれによって制約されます。