1

Android 2.3.4 を搭載した Samsung Galaxy S2 でアプリをテストしています

私はフォローしています

http://developer.android.com/guide/topics/usb/accessory.html

指示。

実行しようとするたびに、usbManager.getAcccessoryList(); null を与えます。

私もOTGケーブルとペンドライブを繋いでみました。

私のマニフェスト。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-feature android:name="android.hardware.usb.accessory" />

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name" >
        <uses-library android:name="com.android.future.usb.accessory" />

        <activity
            android:name=".SplashScreen"
            android:clearTaskOnLaunch="true"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Advanced"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name=".Edit"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name=".Add"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="Main"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
                android:resource="@xml/accessory_filter" />
        </activity>
    </application>

</manifest>
4

2 に答える 2

2

同じ問題がありましたが、タブレットにはICSがあります。私がしたことを試してみると、うまくいくかもしれません。私はこれについて多くのことを検索してきましたが、見つけることができませんでしたが、私たちの質問に答えてくれたすべての人々と、ウェブ上の wiki リソースのおかげで、私はそれを理解しました.

AINOL NOVO 7 PALADIN などの一部の Android ビルドには、不足しているファイルがいくつかあります。これは、同じ問題を抱えた ICS タブレットで機能すると思います。Galaxy Tab にも同じ問題があることは理解していますが、持っていないので確認できません。もしそうなら、それがあなたのために働くかどうか私に知らせてください。

それでは、ファイルをプッシュして、様子を見てみましょう。

不足しているいくつかのファイルをシステム ドライブにコピーします。

$ adb remount

$ adb push AINOL_FIX/system/etc/permissions/android.hardware.usb.host.xml /system/etc/permissions

$ adb push AINOL_FIX/system/etc/permissions/android.hardware.usb.accessory.xml /system/etc/permissions

注: Out of Memoryを表示するエラーが表示された場合、それは正しく、システム ドライブからいくつかのファイルを削除する必要があります。システム/アプリからのライブ壁紙をお勧めします。

システムドライブに書き込むにはルートアクセスが必要であることを理解しています。これを行ったときにすでにアクセスしていたので、うまくいかない場合はルート化してください。

ファイルは Android ソース ビルドから、または USB-HOST API が実際に動作しているタブレットから取得できます。pandaboard 用の linaro の ICS ビルドから取得しました。

ここで、これらのファイルを見つけてみてください。ただし、Gingerbread の 場合は、まだそこにない場合は、にプッシュfuture.usb.accesory.jarする必要もあります。system/framework

$ adb push AINOL_FIX/system/framework/com.android.future.usb.accessory.jar /system/framework
于 2012-05-26T08:31:14.473 に答える
0

http://developer.android.com/guide/topics/usb/accessory.htmlからの引用:「アドオンライブラリを使用している場合は、アプリケーションの最小SDKをAPIレベル10に設定し、使用している場合は12に設定します。 android.hardware.usbパッケージ。」android.hardware.usbパッケージを使用しています。したがって、バージョンを12にする必要があります。

エラーが見つかりました:-)

そして、SDKのバージョンを12に変更することを忘れないでください。宣言するだけではありません!

ドキュメントによると、代わりにcom.android.future.usbパッケージを使用してください。

于 2012-01-23T20:10:01.013 に答える