2

Zxing をライブラリとして統合し、アプリケーションで使用しました。で電話しています

Intent intent = new Intent("com.google.zxing.client.android.SCAN");     
intent.putExtra("SCAN_FORMATS", "CODE_39");
intent.putExtra("SAVE_HISTORY", false);
startActivityForResult(intent, 0);

ほとんどのデバイスで正常に動作しますが、HTC Desire や GT-I9000 などの一部のデバイスでは正常に動作します。以下のエラーが表示されます。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Armacell.login/com.google.zxing.client.android.CaptureActivity}: android.view.InflateException: Binary XML file line #25: Error inflating class com.google .zxing.client.android.ViewfinderView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.access$2300(ActivityThread. java:125) で android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) で android.os.Handler.dispatchMessage(Handler.java:99) で android.os.Looper.loop(Looper.java:123) ) android.app.ActivityThread.main(ActivityThread.java:4627) で java.lang.reflect.Method.invokeNative(Native Method) で java.lang.reflect.Method.invoke(Method.java:521) で com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629) で dalvik.system.NativeStart.main(ネイティブ メソッド) が発生by: android.view.InflateException: Binary XML file line #25: android.view.LayoutInflater の android.view.LayoutInflater.createView(LayoutInflater.java:513) でのクラス com.google.zxing.client.android.ViewfinderView の膨張エラー.createViewFromTag(LayoutInflater.java:565) で android.view.LayoutInflater.rInflate(LayoutInflater.java:618) で android.view.LayoutInflater.inflate(LayoutInflater.java:407) で android.view.LayoutInflater.inflate(LayoutInflater. java:320) で android.view.LayoutInflater.inflate(LayoutInflater.java:276) で com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:200) で android.app.Activity.setContentView(Activity.java:1647) で com.google.zxing.client.android.CaptureActivity.onCreate(CaptureActivity.java:160) で android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) で android.app.ActivityThread .performLaunchActivity(ActivityThread.java:2627) ... 11 以上 原因: java.lang.reflect.InvocationTargetException at com.google.zxing.client.android.ViewfinderView.(ViewfinderView.java:62) at java.lang.reflect .Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:446) at android.view.LayoutInflater.createView(LayoutInflater.java:500) ... 21 以上 原因: android. content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f070012 a=-1 r=0x7f070012} at android.content.res.Resources.loadDrawable(Resources.java:1681) で android.content.res.TypedArray.getDrawable(TypedArray.java:601) で android.view.View.(View.java:1895) で android.view.View.(View.java :1844) ... 25以上

zxing ソースの Capture.xml ファイルでこの警告も受け取ります - 「次のクラスをインスタンス化できませんでした: - com.google.zxing.client.android.ViewfinderView

この場合、私はすべての人に助けを求めています。前もって感謝します。

4

2 に答える 2

2

これはすべて間違っています。アプリに Android コードを含めているのです。それは必要ではなく、奨励されておらず、あなたも正しく行っていません。android/プロジェクトにコピーしたすべてのコードを削除してください。

(実際、私たちはあなたのようにコピーして貼り付けることを強く思いとどまらせます。)

代わりに、コードを使用するだけで、他にはandroid-integration何も使用しないでください。インテグレータ コードを実際に使用しているわけではありません。

最初からやり直してください: http://code.google.com/p/zxing/wiki/ScanningViaIntent

于 2012-04-27T11:44:11.603 に答える
1

私は自分で解決策を持っています。

問題は文化に関するものです。デフォルトの「値」を変更しました。「values-de」を「values」にします。これにより、ドイツ文化を持つデバイスで Zxing がクラッシュします。

なぜそれが機能していたのかわかりませんが、今ではデフォルトとして英語を作成し、現在は機能しています:)

于 2012-05-02T13:24:58.493 に答える