Android 在不接收USB\u设备\u连接意图的情况下访问已连接的MTP设备?
我正在开发一个应用程序,它使用媒体传输协议从连接到安卓平板电脑USB主机(安卓3.1,Acer Iconia Tab A500)的摄像头读取照片 我找到了一些介绍如何使用USB的教程,我已经可以从USB摄像头复制到SD卡了 我只有一个问题:所有教程都会等待USB_DEVICE_ATTACHED-Intent,然后打开UsbDeviceConnection,以便与intents捆绑包中发送的设备通信 因此,我希望能够手动启动一个访问USB的活动,而无需接收此意图。 现在的问题是,我无法打开这样的USB连接Android 在不接收USB\u设备\u连接意图的情况下访问已连接的MTP设备?,android,android-activity,android-intent,usb,android-3.0-honeycomb,Android,Android Activity,Android Intent,Usb,Android 3.0 Honeycomb,我正在开发一个应用程序,它使用媒体传输协议从连接到安卓平板电脑USB主机(安卓3.1,Acer Iconia Tab A500)的摄像头读取照片 我找到了一些介绍如何使用USB的教程,我已经可以从USB摄像头复制到SD卡了 我只有一个问题:所有教程都会等待USB_DEVICE_ATTACHED-Intent,然后打开UsbDeviceConnection,以便与intents捆绑包中发送的设备通信 因此,我希望能够手动启动一个访问USB的活动,而无需接收此意图。 现在的问题是,我无法打开这样的U
UsbDeviceConnection usbDeviceConnection = usbManager.openDevice(usbDevice);
它只返回null。
如果我重新插入设备并选择我的活动作为Intent receiver,它可以正常工作。
我认为这一定是因为IntentReceiver对USB设备拥有一些独占权限
我的清单如下所示:
<activity
android:name=".ImageActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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" />
</activity>
举个例子:如果用户将Galery设置为USB设备的默认设置,该怎么办。在这种情况下,如何访问USB设备?我发现USB主机模式API指南文档在这方面非常有用 最重要的一点是,如果您尚未从某个活动收到USB设备,则需要请求与之通信的权限。此过程在提供的链接中进行了描述