2011-08-26 77 views
2

我一直在做一個小部件一段時間,而且當我試圖運行它或更新代碼時,即使在崩潰後,它也能正常工作。然而,每過一段時間它似乎都會發生「重大」崩潰,並且之後該小部件完全無響應。即使我嘗試將新代碼推送到手機,更新後仍然沒有響應。Android小部件崩潰後無響應/不會更新

我試着卸載該小部件並重新安裝它,只是爲了發生同樣的事情。似乎工作的唯一的事情是,如果我做手機的工廠重置。之後,小部件工作正常,直到我開始更改代碼,並遇到另一次這樣的崩潰。但是,我希望不必每隔幾天就重新設置一次工廠。

有沒有人發生過這種事?是否有某些數據存儲在手機的某處,以防第一次崩潰後再次運行?

下面是錯誤日誌看上去像:

java.lang.RuntimeException: Unable to start receiver com.alienweed.test.HelloWidget: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0 
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2058) 
at android.app.ActivityThread.access$2400(ActivityThread.java:132) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1098) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:143) 
+0

強制在這種情況下添加崩潰日誌。 – Ronnie

+0

好吧我沒有從早期的,但我會嘗試重新創建崩潰 – Evan

+0

對不起,花了這麼久,我終於想起追蹤崩潰。它現在在原始文章中名列前茅。 – Evan

回答

0

這應該可以解決死機。

Cursor curs = db.query(params...); 
/* check the cursor now */ 
if(curs.moveToFirst()) { // `moveToFirst()` returns false if cursor is empty. 
    // access the cursor. 
}