我的最终目标是让我的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" />
...
稍后我在设备,终端模拟器以及lsusb
'脚本中尝试了cron
。它显示没有连接设备。 (我尝试禁用USB调试,以防万一。)
我是否遗漏了一些列出usb设备的权限,或者我是否需要配置我的桌面以允许UsbAccessory连接或什么?如果是这样,为什么会阻止lsusb
显示它附加的计算机?
答案 0 :(得分:0)
最简单的方法是在平板电脑上启用 USB网络共享,然后使用TCP连接您的客户端和服务器。 见https://support.google.com/android/answer/182134?hl=en