Интерпретация трассировки стека Android - PullRequest
1 голос
/ 08 февраля 2012

Я получил сообщение об ошибке со следующей трассировкой стека для приложения в Android Market:

java.lang.RuntimeException: Unable to start service    com.k0gappsw.skibuddy.SBService@4051f4d0 with null: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2473)
at android.app.ActivityThread.access$2800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1127)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4385)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.k0gappsw.skibuddy.SBService.onStartCommand(SBService.java:316)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2456)
... 10 more

У меня есть два вопроса: 1. Находится ли нарушающий код в строке 316 файла SBService.java? 2. Код в этой строке: Bundle bundle = intent.getExtras (); Любая идея, что может пойти не так с этим? Я не видел проблемы в моем тестировании.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

Я предполагаю, что намерение, которое он пытается захватить, является нулевым, следовательно, нулевой указатель (очевидно)

Я бы попробовал это.

Bundle b = getIntent().getExtras(); 

Я бы также проверил, правильно ли отправляет намерение активность, которая вызывает эту службу.

2 голосов
/ 08 февраля 2012

Разве вы не любите таинственные следы стека, которые приходят со случайными сообщениями об ошибках! Я постараюсь ответить на ваши вопросы:

  1. Да, строка 316 - это код ошибки. «Намерение» должно быть нулевым.
  2. Может быть, ваша служба убита и воссоздана? Этот вопрос может дать некоторое представление о том, почему намерение может быть нулевым.
...