{"id":6023,"date":"2014-04-12T00:28:35","date_gmt":"2014-04-12T00:28:35","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/04\/12\/zxing-integrated-in-android-app-incl-phonegap-collection-of-common-programming-errors-2\/"},"modified":"2014-04-12T00:28:35","modified_gmt":"2014-04-12T00:28:35","slug":"zxing-integrated-in-android-app-incl-phonegap-collection-of-common-programming-errors-2","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/04\/12\/zxing-integrated-in-android-app-incl-phonegap-collection-of-common-programming-errors-2\/","title":{"rendered":"ZXing integrated in Android App (incl. PhoneGap)-Collection of common programming errors"},"content":{"rendered":"<p>I want to use ZXing to decode a barcode in my Android App. I am using Phonegap to construct the app. Now I want to integrate ZXing to scan a barcode and handle the result in my app. I am using the Android 2.1 &#8211; update1 SDK.<\/p>\n<p>First, I integrated the following classes in my app:<\/p>\n<ul>\n<li>IntentIntegrator.java<\/li>\n<li>IntentResult.java<\/li>\n<\/ul>\n<p>Then I created an Activity called &#8220;Scanactivity&#8221; with the following content:<\/p>\n<pre><code>import android.app.Activity;\nimport android.content.Intent;\nimport com.google.zxing.integration.android.IntentIntegrator;\nimport com.google.zxing.integration.android.IntentResult;\npublic class ScanActivity extends Activity {\n  public void scanCode() {\n    IntentIntegrator.initiateScan(ScanActivity.this);\n  }\n  public void onActivityResult(int requestCode, int resultCode, Intent intent) {\n    IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);\n    if (scanResult != null) {\n      \/\/ handle scan result\n    }\n    \/\/ else continue with any other code you need in the method\n  }\n}\n<\/code><\/pre>\n<p>In the view I placed a button, which calls the scanCode() method by pressing.<\/p>\n<pre><code>$(\"#button_scan\").click(function(e) {\n  ScanActivity.scanCode();\n});\n<\/code><\/pre>\n<p>I installed the app &#8220;Barcode Scanner (ZXing)&#8221; on the target device to use the intent function. If I press the Scan-Button in my app, the app crashes and closes. What is my mistake?<\/p>\n<p>Here is the logcat:<\/p>\n<pre><code>04-13 10:20:46.636: WARN\/dalvikvm(2525): JNI WARNING: DeleteLocalRef(0x44caf3c0) failed to find entry (valid=1)\n04-13 10:20:46.636: WARN\/dalvikvm(2525): JNI WARNING: DeleteLocalRef(0x44caf3c0) failed to find entry (valid=1)\n04-13 10:20:46.636: ERROR\/dalvikvm(2525): Class lookup Landroid\/webkit\/WebHistoryItem; attemped while exception Ljava\/lang\/NullPointerException; pending\n04-13 10:20:46.636: INFO\/dalvikvm(2525): DALVIK THREADS:\n04-13 10:20:46.636: INFO\/dalvikvm(2525): \"main\" prio=5 tid=3 WAIT\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x4001e250 self=0xbe30\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   | sysTid=2525 nice=0 sched=0\/0 cgrp=unknown handle=-1344001356\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   - waiting on  (a android.os.MessageQueue)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:288)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at android.os.MessageQueue.next(MessageQueue.java:148)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at android.os.Looper.loop(Looper.java:110)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at android.app.ActivityThread.main(ActivityThread.java:4363)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at java.lang.reflect.Method.invokeNative(Native Method)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at java.lang.reflect.Method.invoke(Method.java:521)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)\n04-13 10:20:46.636: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.main(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"http3\" prio=5 tid=31 WAIT\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c970a8 self=0x296f40\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2544 nice=1 sched=0\/0 cgrp=unknown handle=2715736\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   - waiting on  (a android.net.http.RequestQueue)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:288)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at android.net.http.ConnectionThread.run(ConnectionThread.java:98)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"http2\" prio=5 tid=29 WAIT\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c96e58 self=0x294f00\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2543 nice=1 sched=0\/0 cgrp=unknown handle=2707480\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   - waiting on  (a android.net.http.RequestQueue)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:288)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at android.net.http.ConnectionThread.run(ConnectionThread.java:98)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"http1\" prio=5 tid=27 WAIT\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c96ba0 self=0x294cf8\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2542 nice=1 sched=0\/0 cgrp=unknown handle=2706960\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   - waiting on  (a android.net.http.RequestQueue)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:288)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at android.net.http.ConnectionThread.run(ConnectionThread.java:98)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"http0\" prio=5 tid=25 WAIT\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c96990 self=0x294be0\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2541 nice=1 sched=0\/0 cgrp=unknown handle=2667208\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   - waiting on  (a android.net.http.RequestQueue)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:288)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at android.net.http.ConnectionThread.run(ConnectionThread.java:98)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"Thread-12\" prio=5 tid=23 TIMED_WAIT\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c7b460 self=0x261498\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2540 nice=0 sched=0\/0 cgrp=unknown handle=2375456\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   - waiting on  (a com.phonegap.DroidGap$1$1)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:326)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at com.phonegap.DroidGap$1$1.run(DroidGap.java:387)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Thread.run(Thread.java:1096)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"Thread-11\" prio=5 tid=21 NATIVE\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c7af48 self=0x262998\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2539 nice=0 sched=0\/0 cgrp=unknown handle=2333912\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at org.apache.harmony.luni.platform.OSNetworkSystem.acceptSocketImpl(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at org.apache.harmony.luni.platform.OSNetworkSystem.accept(OSNetworkSystem.java:69)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at org.apache.harmony.luni.net.PlainSocketImpl.accept(PlainSocketImpl.java:126)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.net.ServerSocket.implAccept(ServerSocket.java:285)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.net.ServerSocket.accept(ServerSocket.java:164)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at com.phonegap.CallbackServer.run(CallbackServer.java:185)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Thread.run(Thread.java:1096)\n04-13 10:20:46.646: INFO\/dalvikvm(2525): \"CookieSyncManager\" prio=5 tid=19 TIMED_WAIT\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c68588 self=0x127408\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   | sysTid=2538 nice=10 sched=0\/0 cgrp=unknown handle=1220392\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Native Method)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   - waiting on  (a android.os.MessageQueue)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at java.lang.Object.wait(Object.java:326)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at android.os.MessageQueue.next(MessageQueue.java:144)\n04-13 10:20:46.646: INFO\/dalvikvm(2525):   at android.os.Looper.loop(Looper.java:110)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.webkit.WebSyncManager.run(WebSyncManager.java:90)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at java.lang.Thread.run(Thread.java:1096)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"WebViewCoreThread\" prio=5 tid=17 RUNNABLE\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c63210 self=0x136478\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2535 nice=0 sched=0\/0 cgrp=unknown handle=1339552\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.webkit.WebViewCore.nativeTouchUp(Native Method)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.webkit.WebViewCore.access$3400(WebViewCore.java:48)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.webkit.WebViewCore$EventHub$1.handleMessage(WebViewCore.java:1094)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.os.Handler.dispatchMessage(Handler.java:99)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.os.Looper.loop(Looper.java:123)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:611)\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at java.lang.Thread.run(Thread.java:1096)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"Binder Thread #3\" prio=5 tid=15 NATIVE\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c530e8 self=0x130c70\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2534 nice=0 sched=0\/0 cgrp=unknown handle=1354864\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.run(Native Method)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"Binder Thread #2\" prio=5 tid=13 NATIVE\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c53028 self=0x1269e0\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2533 nice=0 sched=0\/0 cgrp=unknown handle=1383744\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.run(Native Method)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"Binder Thread #1\" prio=5 tid=11 NATIVE\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"main\" sCount=0 dsCount=0 s=N obj=0x44c4dc50 self=0x132840\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2532 nice=0 sched=0\/0 cgrp=unknown handle=1354576\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.run(Native Method)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"JDWP\" daemon prio=5 tid=9 VMWAIT\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"system\" sCount=0 dsCount=0 s=N obj=0x44c4c2a0 self=0x14e0f0\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2529 nice=0 sched=0\/0 cgrp=unknown handle=1135864\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.run(Native Method)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"Signal Catcher\" daemon prio=5 tid=7 VMWAIT\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"system\" sCount=0 dsCount=0 s=N obj=0x44c4c1e8 self=0x1127b0\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2528 nice=0 sched=0\/0 cgrp=unknown handle=1338232\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.run(Native Method)\n04-13 10:20:46.656: INFO\/dalvikvm(2525): \"HeapWorker\" daemon prio=5 tid=5 VMWAIT\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | group=\"system\" sCount=0 dsCount=0 s=N obj=0x43562ed8 self=0x12b268\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   | sysTid=2526 nice=0 sched=0\/0 cgrp=unknown handle=1355192\n04-13 10:20:46.656: INFO\/dalvikvm(2525):   at dalvik.system.NativeStart.run(Native Method)\n04-13 10:20:46.656: ERROR\/dalvikvm(2525): VM aborting\n<\/code><\/pre>\n<p>This is the stack:<\/p>\n<pre><code>ScanActivity.scanCode() line: 12    \n    IntentIntegrator.initiateScan(ScanActivity.this);\n\nActivity.class:\n    ScanActivity(Activity).startActivityForResult(Intent, int) line: 2749   \n\nReference.class:\n    WeakReference(Reference).get() line: 147    \n<\/code><\/pre>\n<p>Then the app terminates.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I want to use ZXing to decode a barcode in my Android App. I am using Phonegap to construct the app. Now I want to integrate ZXing to scan a barcode and handle the result in my app. I am using the Android 2.1 &#8211; update1 SDK. First, I integrated the following classes in my [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6023","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/6023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=6023"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/6023\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=6023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=6023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=6023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}