0

我的最终目标是让我的 Android 平板电脑上的应用程序通过 USB 连接到我桌面上的应用程序。我不想要求我的用户启用 USB 调试 - 我已经看到了几种用于处理数据传输的实现( 123 ...) ,但这对我的用例来说并不令人满意。adb

我遵循了USB 附件指南,并尝试列出具有以下内容的设备:

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" />
 ...

后来我在设备上尝试lsusb了终端仿真器和cron'd 脚本。它显示没有连接设备。(我尝试禁用 USB 调试以防万一——仍然没有。)

我是否缺少列出 USB 设备的一些权限,或者我是否需要配置我的桌面以允许 UsbAccessory 连接或什么?如果是这样,为什么会阻止lsusb显示它所连接的计算机?

4

1 回答 1

0

最简单的方法是在平板电脑上启用USB 网络共享,然后使用 TCP 连接您的客户端和服务器。请参阅https://support.google.com/android/answer/182134?hl=en

于 2013-07-11T20:45:13.570 回答