Как я могу отсоединить и заново подключить службу Android, работающую в фоновом режиме? - PullRequest
0 голосов
/ 26 мая 2019

Я хочу сделать работающий сервис без работающего приложения.Поэтому, если я закрываю приложение, я хочу, чтобы служба работала до тех пор, пока я не запустите приложение, которое снова подключается к работающему сервису и останавливает его после нажатия кнопки в пользовательском интерфейсе приложения.

Я запустил службу, используя Thread и context.bindService (_), как показано в приведенном ниже коде, и попытался подключиться обратно к службе, значение mService теперь такое же, как до отсоединения, но происходит сбой, когда явызовите mService.SomeMethod (), даже если до отсоединения mService.SomeMethod () работал.

public void startService(View v)
{
    mServiceIntent = new Intent(getApplicationContext(), BackgroundService.class);
    mServiceIntent.putExtra(Utils.INPUT_CREATE_OR_VERIFY, ! mModelSwitch.isChecked() );
    Thread thread = new Thread(){
        public void start(){
            if ( ! mServiceIsBound) {
                bind();
            }
        }
    };
    thread.start();
}

public void reattachService()
{
    // TODO
}

Поэтому после повторного подключения службы я хочу вызвать его методы ИЛИ остановить ее ИЛИ остановить ее, вызвав mService.StopSelf (), который содержит: stopSelf ().

...