VNC2 チップを使用して、Android タブレット用のカスタム ハードウェアに取り組んでいます。
VNC2 チップでは、私が作成したカスタム ファームウェアをフラッシュしました。USB VendorID を 0403 に、USB ProductId を 6001 に設定しました。
私が取り組んでいるAndroidアプリもあります。マニフェストの に次を追加しました。
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" />
device_filter.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-device/>
</resources>
私の目標は、USB デバイスを接続するとこのアプリが起動することです。ただし、これは機能しません。Google Play から「USB Host Controller」というツールをダウンロードしました。このアプリは、USB デバイスが接続されていることを示したので、いくつかの部分が機能しているようです。
デバイスの接続中に logcat にも出力が表示されました。
I/USB3G ( 91): event { 'add', '/devices/platform/sw_hcd_host0/usb1/1-1', 'usb', '', 189, 12 }
I/USB3G ( 91): path : '/sys/devices/platform/sw_hcd_host0/usb1/1-1'
I/USB3G ( 91): VID :size 5,vid_path '/sys/devices/platform/sw_hcd_host0/usb1/1-1/idVendor',VID '0403
I/USB3G ( 91): '.
I/USB3G ( 91): PID :size 5,Pid_path '/sys/devices/platform/sw_hcd_host0/usb1/1-1/idProduct',PID '6001
I/USB3G ( 91): '.
I/USB3G ( 91): cmd=/system/etc/usb_modeswitch.sh /system/etc/usb_modeswitch.d/0403_6001 &,
I/USB3G ( 91): excute ret : 0,err:No such file or directory
モードスイッチを掘り下げると、主に USB 3G モデムの状態を切り替えるツールのように見えます。私の最初の推測は、私のデバイス (Allwinner A10 ベース) に非常に不自由なイメージがあるということです。しかし、可能性は低いと思いますが、アプリのエラーである可能性もあります。私の理解によれば、OTG ハードウェアを挿入するときに、一致するインテント フィルターを使用してアプリをインストールしているかどうかに関係なく、ある種のダイアログが表示されるはずですか、それとも間違っていますか?
どんなアイデアでも大歓迎です。必要に応じて、apk を任意の方法で変更できます。タブレットはルート化されており、可能な限りファイルを変更できます。思いついたアイデアを試していただければ幸いです。