我有一个扩展服务类的类。我从我的 MainActivity 启动我的服务,但该服务不会在 android 8.1 上关闭应用程序时重新启动
在我的服务类中,我有以下代码:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//some code
return Service.START_STICKY;
}
然后我这样开始我的服务:
MyService myService = new myService();
final Intent seriviceIntent = new Intent(this, myService.getClass());
if (!isMyServiceRunning(myService.getClass())) {
new Thread(new Runnable() {
@Override
public void run() {
this.startService(seriviceIntent);
}
}).start();
}
else {
Log.e("service_log", "service is already running");
}
我的 list 文件中也有这个条目
< service android:name=".service.MyService"/>
在 android 7 上它工作正常但在 android 8.1 上不行
我已经尝试在没有线程的情况下或通过 ui 线程启动此服务,但两者都不起作用
最佳答案
从 Oreo 开始,对服务有一些限制,因此您可能需要查看本指南以将您的服务迁移到 Oreo:
https://developer.android.com/about/versions/oreo/background
或者
看看这个博客:
关于java - Android 服务不会在 Android 8.1 上重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52672925/