后台服务在android PIE版本中无法正常工作

后台服务在android PIE版本中无法正常工作,android,android-service,background-service,android-9.0-pie,Android,Android Service,Background Service,Android 9.0 Pie,它在Oreo之前工作正常,但在API 28 PIE版本发布后,后台服务工作不正常,确切的流程是在启动服务而不手动停止后,当应用程序被终止时,服务将自动停止。谁能告诉我怎么做吗 public void stopLocationService() { Log.d(TAG, "stopLocationService: "); Intent i = new Intent(getApplicationContext(), LocationService.class); stop

它在Oreo之前工作正常,但在API 28 PIE版本发布后,后台服务工作不正常,确切的流程是在启动服务而不手动停止后,当应用程序被终止时,服务将自动停止。谁能告诉我怎么做吗

  public void stopLocationService() {
    Log.d(TAG, "stopLocationService: ");
    Intent i = new Intent(getApplicationContext(), LocationService.class);
    stopService(i);
}

public void startLocationService() {
    Log.d(TAG, "startLocationService: ");
    Intent intent = new Intent(getApplicationContext(), LocationService.class);
    startService(intent);
}

许多安卓设备制造商正在使用积极的策略来节省电池。当用户从最近的标签中清除他/她的应用程序时,该应用程序将强制关闭,从而取消所有警报、广播接收器、服务等。大多数设备制造商如OnePlus、Huwaei、小米、维梧、Oppo等都会发生这种情况

他们有自动启动管理器/自动启动管理器,防止应用程序在后台运行。您必须使用中提到的步骤将您的应用程序列为白名单


还可以访问以了解不同设备制造商的任务杀手。

在此处使用startForegroundServicei而不是startServicei。请查看此信息。您使用的是哪种设备?