2013-03-07 61 views
2

我剛剛開始使用PhoneGap(版本2.5),並且正在開發能夠讀取QR碼(最終NFC標籤)的Android應用程序。我正在使用this插件讀取QR碼。我已經設置了一個簡單的測試應用程序,它帶有一個啓動掃描器的按鈕和一個顯示QR碼內容的p-tag。這是啓動掃描儀當閱讀條碼時,應用程序偶爾會崩潰

scan: function() { 
    try { 
     window.plugins.barcodeScanner.scan(function(args) { 
      console.log("Scanner result: \n" + 
       "text: " + args.text + "\n" + 
       "format: " + args.format + "\n" + 
       "cancelled: " + args.cancelled + "\n"); 
      document.getElementById("info").innerHTML = args.text; 
      console.log(args); 
     }); 
    } catch(ex) { 
     console.log(ex.message); 
    } 
} 

代碼工作時代的大部分代碼,但偶爾一碼已被讀取之後就會死機(掃描儀捕獲標籤和報告,URL /純文本/不管有被發現,但當它試圖返回到我的應用程序時崩潰)。我沒有發現崩潰的特定模式,有時可能會掃描相同的代碼,有時會崩潰。這是來自LogCat的錯誤消息。

03-07 13:46:57.478: E/AndroidRuntime(28325): FATAL EXCEPTION: main 
03-07 13:46:57.478: E/AndroidRuntime(28325): java.lang.RuntimeException: Unable to resume activity {com.package.hellophonegap/com.package.hellophonegap.HelloPhonegap}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=195543262, result=-1, data=Intent { act=com.phonegap.plugins.barcodescanner.SCAN flg=0x80000 (has extras) }} to activity {com.package.hellophonegap/com.package.hellophonegap.HelloPhonegap}: java.lang.NullPointerException 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3692) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.access$700(ActivityThread.java:141) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1240) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.os.Looper.loop(Looper.java:137) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.main(ActivityThread.java:5041) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at java.lang.reflect.Method.invokeNative(Native Method) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at java.lang.reflect.Method.invoke(Method.java:511) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at dalvik.system.NativeStart.main(Native Method) 
03-07 13:46:57.478: E/AndroidRuntime(28325): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=195543262, result=-1, data=Intent { act=com.phonegap.plugins.barcodescanner.SCAN flg=0x80000 (has extras) }} to activity {com.package.hellophonegap/com.package.hellophonegap.HelloPhonegap}: java.lang.NullPointerException 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.deliverResults(ActivityThread.java:3319) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2729) 
03-07 13:46:57.478: E/AndroidRuntime(28325): ... 13 more 
03-07 13:46:57.478: E/AndroidRuntime(28325): Caused by: java.lang.NullPointerException 
03-07 13:46:57.478: E/AndroidRuntime(28325): at org.apache.cordova.DroidGap.onActivityResult(DroidGap.java:849) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.Activity.dispatchActivityResult(Activity.java:5293) 
03-07 13:46:57.478: E/AndroidRuntime(28325): at android.app.ActivityThread.deliverResults(ActivityThread.java:3315) 
03-07 13:46:57.478: E/AndroidRuntime(28325): ... 14 more 

問題是我不知道如何解釋錯誤消息或如何調試應用程序。任何關於如何進一步排除錯誤的指針都會非常感謝。

+0

這是什麼運氣?我有一個相同的問題。我在Android 4.1.1操作系統上的Android PhoneGap應用程序上使用了相同的BarcodeScanner插件,並且似乎正在向您提供幾乎完全相同的錯誤消息。我剛纔連續三次得到了這些錯誤,之前從未遇到錯誤 - 而且我沒有觸及條形碼掃描代碼 - 既沒有調用它的代碼,也沒有觸發它的本地Java源代碼,所以我不'不知道發生了什麼事。 – 2013-03-19 18:20:31

+0

你說它只會偶爾崩潰,這很奇怪。對於我來說,以前我從未遇到過這個錯誤,然後今天突然間條形碼掃描儀根本無法改變任何東西。我嘗試清理我的解決方案,重新啓動手機並確保我的手機設置都是平常的東西......但迄今爲止我還沒有運氣。這是一個非常惱人的謎! – 2013-03-19 18:37:14

+0

因此,我只是嘗試在HTC One X上運行我的應用程序(在硬件技術規範方面,這是一款性能卓越的手機),並發現它非常完美。是否有可能存在性能問題?也許應用程序在HTC Desire上使用了太多的內存,我一直在收到錯誤?雖然我不太清楚這可能是怎麼回事,因爲它昨天爲我工作 - 而且我沒有給我的應用程序添加任何內容(最近幾天我添加了更多的代碼,但是我沒有做任何事情會給手機的主內存帶來額外的壓力)。 – 2013-03-19 18:52:44

回答

0

嘗試進行手機操作系統的出廠重置。我發現一旦我這樣做了,問題就不再發生。

我不知道爲什麼它不能在手機上工作,但實際上是什麼導致了錯誤。如果我瞭解問題所在,我會更新此帖子。我幾乎可以肯定的唯一的問題是,問題是由我的手機上的操作系統(HTC Desire)的問題引起的。

我應該注意我安裝的Android版本是Cyanogen端口,因爲由於內存限制,Android 4.2通常不能在HTC Desires上工作。

如上所述,我在運行Android 4.2的HTC One X上沒有遇到這些錯誤。

相關問題