我有一个扩展服务类的类。我从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");
}
我的清单文件中也有此条目
在android 7上运行正常,但在android 8.1上无法正常运行
我已经尝试在没有线程或ui线程的情况下启动此服务,但两者都无法正常工作
答案 0 :(得分:0)
从Oreo开始,服务受到一些限制,因此您可能想看看本指南将服务迁移到Oreo:
https://developer.android.com/about/versions/oreo/background
或
看看这个博客: