0

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

    }

そして、それは実際のデバイスで実行されます。しかし、他のデバイス(Samsung note 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つ、このデバイスでバーコードを使用するマーケットアプリを試すと、同じ問題が発生します。特定のデバイスでいくつかの設定を行う必要があると思います。しかし、私は解決策を見つけることができません。

4

1 に答える 1

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.zipandroid-integration必要。

于 2013-03-06T14:33:34.227 に答える