试图让OTG在Android设备上工作

试图让OTG在Android设备上工作,android,android-intent,android-hardware,usb-otg,Android,Android Intent,Android Hardware,Usb Otg,我正在为使用VNC2芯片的Android平板电脑开发定制硬件 在VNC2芯片上,我闪存了一些定制固件。 我已将USB供应商ID设置为0403,USB产品ID设置为6001 我还有一个Android应用程序正在开发中。我已将以下内容添加到清单中的: <intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter> &

我正在为使用VNC2芯片的Android平板电脑开发定制硬件

在VNC2芯片上,我闪存了一些定制固件。 我已将USB供应商ID设置为0403,USB产品ID设置为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" />      
深入研究modeswitch,它似乎是一个工具,可以在主要是USB 3G调制解调器上切换状态。我的第一个猜测是,我的设备上有一个非常残废的图像(基于Allwinner A10)。但这也可能是我的应用程序中的一些错误,尽管我觉得不太可能。根据我的理解,在插入OTG硬件时,无论我的应用程序是否安装了匹配的意图过滤器,或者我错了,我都应该看到某种对话框


任何想法都将不胜感激。如果需要,我可以以任何方式更改apk。平板电脑是根目录的,我可以以任何可能的方式更改文件。我很乐意尝试你的任何想法。

现在我终于解决了这个问题。主要的问题似乎是,我需要安装一个带有意图过滤器的应用程序,以防发生任何事情。这有点奇怪,因为使用AOA(Android开放附件协议)的硬件会显示一个对话框,如果你没有可以处理附件的应用程序,它会引导你到Google Play下载

但是,如果您没有与USB供应商和设备ID匹配的意向过滤器的应用程序,USB OTG设备将默认忽略您将它们连接到Android设备。测试时,我有一个没有安装意图过滤器的应用程序。我以为我会得到一个像AOA那样的对话,但我错了


为了让OTG正常工作,我只需要将android.hardware.usb.host.xml添加到/system/etc/permissions中。然后一切都很好。

可以在非根手机上运行吗?@RaviMehta如果缺少android.hardware.usb.host.xml,那么很遗憾,您需要根手机。但是,如果已经配置了非根设备,USB OTG也可以在这些设备上工作
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <usb-device/>
</resources>
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