Я хочу, чтобы после удаления приложения из последних приложений оно отправляло сетевое сообщение. До сих пор я видел несколько потоков об этой проблеме (что она ничего не делает), но ни одна из них не помогла мне решить проблему.
Я пытался создать класс Service, переопределенный onTaskRemoved()
и onStartCommand()
, в onTaskRemoved()
я написал код, который должен был перезапустить службу (я не до конца понял, как она работает)
public class BackgroundService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onTaskRemoved(Intent rootIntent){
super.onTaskRemoved(rootIntent);
System.out.println("TASK REMOVED");
PendingIntent service = PendingIntent.getService(
getApplicationContext(),
1001,
new Intent(getApplicationContext(), BackgroundService.class),
PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 1000, service);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId){
new Client(getApplicationContext()).execute("left " + MainActivity.id +":" + MainActivity.name);
return START_STICKY;
}
Я ожидаю, что после того, как приложение будет убитоили удаленный из недавних приложений, он отправит в сокет, но теперь не делает этого