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 に答える