我已经在一个小部件上工作了一段时间,当我尝试运行它或更新代码时,它通常工作正常,即使在崩溃之后。然而,每隔一段时间它似乎就会发生“重大”崩溃,之后小部件就会变得完全没有反应。即使我尝试将新代码推送到手机,它在更新后仍然没有响应。
我尝试卸载小部件并重新安装它,只是为了让同样的事情发生。唯一似乎有用的是我是否重置了手机。之后,小部件工作正常,直到我开始更改代码,然后我遇到另一个这样的崩溃。但是,我不想每隔几天就重置一次工厂。
这是否发生在任何人/有没有人知道这可能是什么原因?是否有一些数据存储在手机某处,以防止它在第一次崩溃后再次工作?
以下是错误日志的内容:
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 :(得分:0)
这可以解决崩溃问题。
Cursor curs = db.query(params...);
/* check the cursor now */
if(curs.moveToFirst()) { // `moveToFirst()` returns false if cursor is empty.
// access the cursor.
}