ADK开发——DemoKit的编译.

http://intijk.com/?p=977  从这个博客里学到不少.


本来觉得是一件挺简单的事,但是却整了半天.  记录一下整个过程.

问题还没有完美解决,但是应该OK啦~


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


我的手机是Razr,4.04版本.

首先你需要确定手机是否OK

检查一下手机里是否有这两个文件.  (我很诧异,为什么手机里,有权限的声明文件,却没有jar文件.)

/system/framework/com.android.future.usb.accessory.jar

/system/etc/permissions/android.hardware.usb.accessory.xml

usb_accessory下载

这步搞定了,再往下看~.

API level 12 以后,系统已经集成USB控制部分. API level 10(最低),需要导入Jar文件. 而这两个文件的操作不同,就引发了悲剧的发生...


如果你的手机API level 12+.

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);

UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);


如果你是使用的导入的Jar文件.

UsbManager manager = UsbManager.getInstance(this);

UsbAccessory accessory = UsbManager.getAccessory(intent);


这是清单的样例.

<manifest ...>
    <uses-feature android:name="android.hardware.usb.accessory" />
    
    <uses-sdk android:minSdkVersion="<version>" />
    ...
    <application>
      <uses-library android:name="com.android.future.usb.accessory" />
        <activity ...>
            ...
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
            </intent-filter>

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




你可能感兴趣的:(ADK开发——DemoKit的编译.)