Kotlin实现的Service bug: Parameter specified as non-null is null:

4-12 16:48:12.299 583-583/com.juzivideo8.app:remote E/AndroidRuntime: FATAL EXCEPTION: main
                                                                       Process: com.juzivideo8.app:remote, PID: 583
                                                                       java.lang.RuntimeException: Unable to start service com.app.darkvideo.download.taskmanager.DownloadService@8c3243b with null: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter intent
                                                                           at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3705)
                                                                           at android.app.ActivityThread.-wrap23(ActivityThread.java)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1736)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                           at android.os.Looper.loop(Looper.java:154)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6682)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
                                                                        Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter intent
                                                                           at com.app.darkvideo.download.taskmanager.DownloadService.onStartCommand(DownloadService.kt:0)
                                                                           at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3688)
                                                                           at android.app.ActivityThread.-wrap23(ActivityThread.java) 
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1736) 
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                           at android.os.Looper.loop(Looper.java:154) 
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6682) 
                                                                           at java.lang.reflect.Method.invoke(Native Method) 
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 

解决方案 Intent需要是可空类型, 不知道为什么IDE不报错误

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
    LogUtil.d(TAG, "onStartCommand")
    return Service.START_STICKY
}

猜你喜欢

转载自my.oschina.net/sfshine/blog/1794681