2012-03-31 5 views
1

Ich habe eine Anwendung, die Zxing für QR-Code-Scannen verwendet. Früher hat es perfekt funktioniert. Aber jetzt hat es aufgehört zu arbeiten. Ich habe den Code nicht geändert oder sonst nichts. Ich habe versucht, daran zu arbeiten, fand aber keine Lösung. Hat jemand anderes ein solches Problem und kann mir helfen?QR-Code funktioniert nicht in Android

Fehlerprotokoll:

03-31 10:43:43.545: E/AndroidRuntime(9986): FATAL EXCEPTION: main 
03-31 10:43:43.545: E/AndroidRuntime(9986): java.lang.RuntimeException: Unable to resume activity {com.google.zxing.client.android.CaptureActivity}: java.lang.NullPointerException 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2124) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2139) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1672) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.os.Looper.loop(Looper.java:123) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread.main(ActivityThread.java:3691) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at java.lang.reflect.Method.invoke(Method.java:507) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at dalvik.system.NativeStart.main(Native Method) 
03-31 10:43:43.545: E/AndroidRuntime(9986): Caused by: java.lang.NullPointerException 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at com.google.zxing.client.android.CaptureActivity.resetStatusView(CaptureActivity.java:632) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at com.google.zxing.client.android.CaptureActivity.onResume(CaptureActivity.java:175) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.Activity.performResume(Activity.java:3858) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2114) 
03-31 10:43:43.545: E/AndroidRuntime(9986):  ... 12 more 
+0

In Ihren 'CaptureActivity's' Klasse mit Fehlern in den Zeilen - 632 & 175. Check it in in ZXing Bibliothek – Praveenkumar

+0

CaptureActivity Klasse aus. Es ist keine Aktivität meiner Anwendung – Gaurav

+0

Vielleicht hat Ihre Bibliothek ein Problem. Wenn du ein Gerät hast, versuche es einfach [this] (http://www.2shared.com/file/08SfFENN/Demo.html) – Praveenkumar

Antwort

1

Ich bin für das Scannen eines Barcode und qrcode eine andere Bibliothek-Datei. Es funktioniert gut für mich.

MainActivity

Button button = (Button)findViewById(R.id.btn); 
    button.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      Intent intent = new Intent(v.getContext(), com.biggu.scannerdemo.ScannerActivity.class); 
      intent.putExtra(Intents.Preferences.ENABLE_BEEP, true); 
      intent.putExtra(Intents.Preferences.ENABLE_VIBRATE, true); 

      ((Activity)v.getContext()).startActivityForResult(intent, SCANNER_REQUEST_CODE); 
     } 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (resultCode == Activity.RESULT_OK && requestCode == SCANNER_REQUEST_CODE) { 

     Bundle extras = data.getExtras(); 
     String result = extras.getString("SCAN_RESULT"); 
     TextView textView = (TextView)findViewById(R.id.txt); 
     textView.setText(result); 
    } 
} 

Für die ScannerActivity es zum Scannen des Codes die Funktionalität zur Verfügung stellt.

ScannerActivity

public class ScannerActivity extends CaptureActivity { 

@Override 
public int get_R_id_preview_view() { 

    return R.id.preview_view; 
} 

@Override 
public int get_R_id_viewfinder_view() { 

    return R.id.viewfinder_view; 
} 

@Override 
public int get_R_layout_scanner() { 

    return R.layout.scanner; 
} 

@Override 
public int get_R_raw_beep() { 

    return R.raw.beep; 
} 
+0

Wenn Sie mit meiner Antwort zufrieden sind. Vergiss nicht, es zu akzeptieren. – Praveenkumar

+0

Das funktioniert perfekt. Vielen Dank. Ich kann die Antwort nicht akzeptieren, da meine Frage für zxing Bibliothek war. Aber ich kann für deine Antwort stimmen – Gaurav

+0

welche Bibliothek ist das? –