启动zxing CaptureActivity

时间:2015-11-21 12:19:47

标签: android eclipse android-intent android-support-library zxing

我有一个Android项目,其中我添加了Zxing / Android jar作为外部Jar。在我的应用程序中,我试图通过使用此代码的意图从我自己的活动中启动CaptureActivity:

// start Google bar-code scanner
Intent intent = new Intent(activity.getApplicationContext(), CaptureActivity.class);
intent.setAction(Intents.Scan.ACTION);

// this stops saving your bar-code in bar-code scanner app's history
intent.putExtra(Intents.Scan.SAVE_HISTORY, false);
// this puts text message on the scanning screen
intent.putExtra(Intents.Scan.PROMPT_MESSAGE, message);
// scan only product bar-codes
intent.putExtra(Intents.Scan.MODE, Intents.Scan.PRODUCT_MODE);

activity.startActivityForResult(intent, 0);

,当我这样做时,我得到了这个例外:

  

11-21 13:08:33.163:E / AndroidRuntime(6414):   java.lang.RuntimeException:无法启动活动   ComponentInfo {com.myappname / com.google.zxing.client.android.CaptureActivity}:   android.view.InflateException:二进制XML文件行#17:错误   inflating class alpha 11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.app.ActivityThread.access $ 800(ActivityThread.java:142)11-21   13:08:33.163:E / AndroidRuntime(6414):at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1203)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.os.Handler.dispatchMessage(Handler.java:102)11-21   13:08:33.163:E / AndroidRuntime(6414):at   android.os.Looper.loop(Looper.java:136)11-21 13:08:33.163:   E / AndroidRuntime(6414):at   android.app.ActivityThread.main(ActivityThread.java:5118)11-21   13:08:33.163:E / AndroidRuntime(6414):at   java.lang.reflect.Method.invokeNative(Native Method)11-21   13:08:33.163:E / AndroidRuntime(6414):at   java.lang.reflect.Method.invoke(Method.java:515)11-21 13:08:33.163:   E / AndroidRuntime(6414):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:789)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)11-21   13:08:33.163:E / AndroidRuntime(6414):at   dalvik.system.NativeStart.main(Native Method)11-21 13:08:33.163:   E / AndroidRuntime(6414):引起:android.view.InflateException:   二进制XML文件行#17:错误导致类alpha 11-21   13:08:33.163:E / AndroidRuntime(6414):at   android.preference.GenericInflater.createItemFromTag(GenericInflater.java:441)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.GenericInflater.inflate(GenericInflater.java:317)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.GenericInflater.inflate(GenericInflater.java:263)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.PreferenceManager.setDefaultValues(PreferenceManager.java:485)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.PreferenceManager.setDefaultValues(PreferenceManager.java:444)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   com.google.zxing.client.android.CaptureActivity.onCreate(CaptureActivity.java:144)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.app.Activity.performCreate(Activity.java:5275)11-21   13:08:33.163:E / AndroidRuntime(6414):at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)   11-21 13:08:33.163:E / AndroidRuntime(6414):... 11更多11-21   13:08:33.163:E / AndroidRuntime(6414):引起:   java.lang.ClassNotFoundException:没找到类   路径上的“android.preference.alpha”:DexPathList [[zip文件   “/data/app/com.myappname-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.myappname-1,   / vendor / lib,/ system / lib]] 11-21 13:08:33.163:E / AndroidRuntime(6414):     在   dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   java.lang.ClassLoader.loadClass(ClassLoader.java:497)11-21   13:08:33.163:E / AndroidRuntime(6414):at   java.lang.ClassLoader.loadClass(ClassLoader.java:457)11-21   13:08:33.163:E / AndroidRuntime(6414):at   android.preference.GenericInflater.createItem(GenericInflater.java:375)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.GenericInflater.onCreateItem(GenericInflater.java:417)   11-21 13:08:33.163:E / AndroidRuntime(6414):at   android.preference.GenericInflater.createItemFromTag(GenericInflater.java:428)   11-21 13:08:33.163:E / AndroidRuntime(6414):... 20多个

之前这对我有用,现在我更新了我的android-support-v7-appcompat库,现在我有了这个错误。我在我的项目中添加了android-support-v7-appcompat库作为android库。无法弄清楚造成这种情况的原因。

1 个答案:

答案 0 :(得分:0)

我通过添加 Zxing

解决了这个问题
  • android 项目(作为现有的Android项目),
  • android-core 项目(作为现有的Maven项目)和
  • 核心项目(作为现有的Maven项目)

,在我的工作区中,并在我的应用程序中将 Zxing android 项目作为Android库引用。 以前我只是在我的应用程序构建路径中添加 Zxing android 核心 jar作为外部JAR。