Сервис не останавливается в Android Oreo - PullRequest
0 голосов
/ 26 апреля 2018

Я внедрил службу в приложении, но мне нужно остановить службу после уничтожения приложения.Но у меня возникла проблема в 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"/>

1 Ответ

0 голосов
/ 26 апреля 2018

Надеюсь, это сработает для вас

 android:stopWithTask="false"

Добавьте этот атрибут в тег службы в файле манифеста.

...