在android中获取Barcode Scanner中的错误

时间:2013-03-06 14:05:45

标签: android barcode zxing

我正在通过ZXIng IntentIntegrator使用QR码扫描仪制作应用程序。我可以使用以下代码

IntentIntegrator integrator = new IntentIntegrator(
                        HomeActivity.this);
                integrator.initiateScan();


public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        IntentResult scanResult = IntentIntegrator.parseActivityResult(
                requestCode, resultCode, intent);
        if (scanResult != null) {
            // handle scan result

            Toast.makeText(getApplicationContext(),
                    "scan   " + scanResult.getContents(), 1).show();
        }
        // else continue with any other code you need in the method

    }

它在真实设备上运行。 但是当我尝试在我的其他设备上运行它时(三星注释2)。它给了我崩溃日志。

03-06 19:10:19.940: E/AndroidRuntime(10325): FATAL EXCEPTION: main
03-06 19:10:19.940: E/AndroidRuntime(10325): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.aztecbarcodereader.zxing.client.android.SCAN cat=[android.intent.category.DEFAULT] flg=0x4080000 }
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1580)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.app.Activity.startActivityForResult(Activity.java:3446)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.app.Activity.startActivityForResult(Activity.java:3407)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at com.aztecbarcodereader.zxing.integration.android.IntentIntegrator.startActivityForResult(IntentIntegrator.java:290)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at com.aztecbarcodereader.zxing.integration.android.IntentIntegrator.initiateScan(IntentIntegrator.java:274)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at com.aztecbarcodereader.zxing.integration.android.IntentIntegrator.initiateScan(IntentIntegrator.java:209)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at com.raa.jwelarydemo.HomeActivity$8.onClick(HomeActivity.java:241)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.view.View.performClick(View.java:4223)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.view.View$PerformClick.run(View.java:17275)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.os.Handler.handleCallback(Handler.java:615)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.os.Handler.dispatchMessage(Handler.java:92)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.os.Looper.loop(Looper.java:137)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at android.app.ActivityThread.main(ActivityThread.java:4898)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at java.lang.reflect.Method.invokeNative(Native Method)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at java.lang.reflect.Method.invoke(Method.java:511)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
03-06 19:10:19.940: E/AndroidRuntime(10325):    at dalvik.system.NativeStart.main(Native Method)

为什么我会收到此异常?

当我尝试使用此设备上的任何市场应用程序来使用条形码时,还有一件事情也存在同样的问题。 我想我必须在我的特定设备上进行一些设置。但我找不到解决方案。

1 个答案:

答案 0 :(得分:2)

您从哪里获得正在使用的jar文件?好像它不是官方的ZXing。

注意您对意图的行动

com.aztecbarcodereader.zxing.client.android.SCAN

这与官方ZXing应用程序使用的动作字符串不匹配,这是真正的:

com.google.zxing.client.android.SCAN

如果您修改了IntentIntegrator.java文件,则需要还原更改并使用原始源代码。如果你没有修改它,那么你需要回到ZXing官方网站并下载它的新副本,因为你的那个似乎是由其他人制作的(错误的)。

你可以在这里下载官方文件:https://code.google.com/p/zxing/downloads/detail?name=ZXing-2.1.zip一旦你把zip文件打开,android-integration里面就是你需要的jar文件。