解读Android Stack Trace

时间:2012-02-07 21:35:19

标签: android stack-trace

我收到了一条错误报告,其中包含我在Android电子市场中的应用的以下堆栈跟踪:

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.违规代码是否在SBService.java的第316行? 2.该行的代码是:       Bundle bundle = intent.getExtras(); 知道这会出现什么问题吗?我的测试中没有看到问题。

2 个答案:

答案 0 :(得分:3)

我的猜测是它试图获取的意图是null因此空指针(显然)

我会尝试这个。

Bundle b = getIntent().getExtras(); 

我还会检查调用此服务的活动是否正确发送意图。

答案 1 :(得分:2)

难道你不喜欢随机错误报告中出现的神秘堆栈痕迹!我会回答你的问题:

  1. 是的,第316行是违规代码。 'intent'必须为null。
  2. 也许你的服务被杀死并重建了? This question可能会提供一些有关意图可能为空的原因。