Я внедрил службу в приложении, но мне нужно остановить службу после уничтожения приложения.Но у меня возникла проблема в Android O. Существует один метод onTaskRemoved, который не вызывается в Orio.Я также пытаюсь JobScheduler, но получаю ту же проблему.Любое предложение или решение будет оценено.:)
Служба запуска:
ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className,
IBinder service) {
// We've bound to LocalService, cast the IBinder and get LocalService instance
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
}
};
Intent intentService = new Intent(this, ServiceClass.class);
bindService(intentService, mConnection, Context.BIND_AUTO_CREATE);
Класс обслуживания:
public class ServiceClass extends Service {
private final IBinder mBinder = new LocalBinder();
@Nullable
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
@Override
public void onTaskRemoved(Intent rootIntent) {
stopSelf();
super.onTaskRemoved(rootIntent);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
public class LocalBinder extends Binder {
public ServiceClass getService() {
// Return this instance of LocalService so clients can call public methods
return ServiceClass.this;
}
}
}
AndroidManfiest.xml
<service android:name="Service"
android:stopWithTask="false"/>