Держите приложение для Android в фоновом режиме - PullRequest
0 голосов
/ 22 сентября 2019

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

public class MyService extends Service {
public MyService() {
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    onTaskRemoved(intent);

    Toast.makeText(this, "Service", Toast.LENGTH_SHORT).show();

    return START_STICKY;
}

@Override
public IBinder onBind(Intent intent) {
    // TODO: Return the communication channel to the service.
    throw new UnsupportedOperationException("Not yet implemented");
}

@Override
public void onTaskRemoved(Intent rootIntent) {
    Intent restartServiceIntent = new Intent(getApplicationContext(), this.getClass());
    restartServiceIntent.setPackage(getPackageName());
    startService(restartServiceIntent);
    super.onTaskRemoved(rootIntent);
}

}

И мне нужно вызвать эту услугу в MainActivity , используя startService(new Intent(this, MyService.class));

Это работает нормально.Даже если я закрою приложение из последних приложений.Но когда я Force Stop приложение из Настройки, служба больше не работает.

Есть ли способ сохранить приложение запущенным, даже если приложение было принудительно убито?

1 Ответ

0 голосов
/ 22 сентября 2019

Вы можете зарегистрировать свое приложение, чтобы получать push-уведомления от сервисов Google Play, обычно Firebase сейчас.И вы можете запустить свой сервис, отправив push-уведомления в ваше приложение из firebase Amin ask на вашем сервере.

ПРИМЕЧАНИЕ: начиная с android pie, есть изменения в том, как вы можете запустить свой сервис.Так что прежде чем что-либо делать, пройдите через Android Pie Services Docs

...