如何在Android 2.2中使用USB设备?

Nar*_*rma 3 usb android libusb

我正在使用Magtek磁卡读卡器并通过USB将该MCR与Android设备连接.当我使用API​​ 12及其以后它工作正常但当我将API版本更改为8时它崩溃并在Log cat中显示以下结果:

   04-12 11:39:39.560: E/AndroidRuntime(276): java.lang.NoClassDefFoundError: android.hardware.usb.UsbManager
    04-12 11:39:39.560: E/AndroidRuntime(276):  at com.magtek.mobile.android.libDynamag.MagTeklibDynamag.openDevice(MagTeklibDynamag.java:98)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at com.magtek.mobile.android.MagTekDemo.Dynamag.MagTekDemo.onResume(MagTekDemo.java:119)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.Activity.performResume(Activity.java:3823)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3143)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.os.Handler.dispatchMessage(Handler.java:99)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.os.Looper.loop(Looper.java:123)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at android.app.ActivityThread.main(ActivityThread.java:4627)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at java.lang.reflect.Method.invokeNative(Native Method)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at java.lang.reflect.Method.invoke(Method.java:521)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    04-12 11:39:39.560: E/AndroidRuntime(276):  at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

那么我们可以启用Android 2.2 USB并使用USB设备吗?

Gab*_*han 8

你不能.您要使用的API在2.2中不存在.这不是他们更改API的情况,这是他们添加的以前不存在的功能.鉴于其硬件相关,它不是编写代码来模拟它.你将不得不忍受API 12+