Android виджет не отвечает после сбоя / не будет обновляться - PullRequest
2 голосов
/ 26 августа 2011

Я некоторое время работал над виджетом, и он обычно работает нормально, когда я пытаюсь запустить его или обновить код, даже после сбоя. Тем не менее, время от времени возникает «серьезный» сбой, и виджет впоследствии полностью перестает отвечать. Даже если я попытаюсь отправить новый код на телефон, он не отвечает после обновления.

Я пытался удалить виджет и переустановить его, только чтобы произошло то же самое. Единственное, что, кажется, работает, это если я делаю сброс настроек телефона к заводским настройкам. После этого виджет работает нормально, пока я не начну менять код и не столкнусь с другим таким сбоем. Однако я бы не хотел делать сброс настроек каждые несколько дней.

Это случилось с кем-нибудь / кто-нибудь знает, что может быть причиной этого? Есть ли где-то данные, хранящиеся на телефоне, которые не позволяют ему снова работать после первого сбоя?

Вот как выглядел журнал ошибок:

    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)

1 Ответ

0 голосов
/ 29 августа 2011

Это должно исправить ошибку.

Cursor curs = db.query(params...);
/* check the cursor now */
if(curs.moveToFirst()) {  // `moveToFirst()` returns false if cursor is empty.
    // access the cursor.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...