【发布时间】:2013-07-11 20:17:18
【问题描述】:
我的最终目标是让我的 Android 平板电脑上的应用通过 USB 连接到我桌面上的应用。我不想要求我的用户启用 USB 调试 - 我已经看到了几个使用 adb 来处理数据传输的实现(1、2、3...),但这对于我的用例。
我关注了USB Accessory guide,并尝试列出以下设备:
public void onResume() {
super.onResume();
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
log( "Devices:" + manager.getDeviceList().toString() );
...
但设备列表始终为空。 manager.getAccessoryList() 返回了null。
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.usb" android:versionCode="1" android:versionName="1.0">
<uses-sdk
android:minSdkVersion="12" android:targetSdkVersion="17" />
<uses-feature
android:name="android.hardware.usb.accessory" android:required="true" />
...
后来我在设备上、终端模拟器和cron'd 脚本中尝试了lsusb。它显示没有连接设备。 (我尝试禁用 USB 调试以防万一 - 仍然没有。)
我是否缺少一些列出 USB 设备的权限,或者我需要配置我的桌面以允许 UsbAccessory 连接还是什么?如果是这样,那为什么会阻止lsusb 显示它所连接的计算机?
【问题讨论】: