【发布时间】:2018-09-21 10:17:29
【问题描述】:
我的应用程序的第一个 Activity 启动了我用来创建通知的 STICKY 服务。最近我注意到 Android O 设备上的一个错误:当用户启动一个应用程序,然后在几秒钟后应用程序处于后台状态时,用户会收到此异常:
FATAL EXCEPTION: main
Process: com.callcatcher.callcatcher, PID: 27566
java.lang.RuntimeException: Unable to stop service callcatcher.call.com.callcatcher.NotificationService@e5b03d1: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.Looper.quit()' on a null object reference
at android.app.ActivityThread.handleStopService(ActivityThread.java:3563)
at android.app.ActivityThread.-wrap26(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1721)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:6633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.Looper.quit()' on a null object reference
at android.app.IntentService.onDestroy(IntentService.java:147)
at callcatcher.call.com.callcatcher.NotificationService.onDestroy(NotificationService.java:94)
at android.app.ActivityThread.handleStopService(ActivityThread.java:3541)
at android.app.ActivityThread.-wrap26(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1721)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:6633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
【问题讨论】:
-
加
IntentService.onDestroy()的代码,可以吗? -
@MartinZeitler 它什么都不做,只是调用 super.onDestroy();