[英]IllegalStateException in oncreate Application class
我收到错误java.lang.RuntimeException,其原因是:android版本8.0中的super.onCreate()中的java.lang.IllegalStateException
public final class ClockApp extends Application {
@Override
public void onCreate() {
super.onCreate();
startService(new Intent(getApplicationContext(), MyService.class));
}
}
错误日志如下:
java.lang.RuntimeException:
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6065)
at android.app.ActivityThread.-wrap1 (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1764)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6942)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
Caused by: java.lang.IllegalStateException:
at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1538)
at android.app.ContextImpl.startService (ContextImpl.java:1484)
at android.content.ContextWrapper.startService (ContextWrapper.java:663)
at com.alarm.speakingclock.ClockApp.onCreate (ClockApp.java:14)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1126)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6062)
at android.app.ActivityThread.-wrap1 (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1764)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6942)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
从API 26开始,当应用程序不在前台时,并且在Application.onCreate()
调用期间, 它仍不在前台时,您将无法启动服务。
参考: https : //developer.android.com/guide/components/services#StartingAService
因此,有一些可能的方法来解决此问题:
onCreate
方法。 startForegroundService()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.