Отправить в сокет, когда приложение удалено из недавнего apss - PullRequest
0 голосов
/ 06 октября 2019

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

Я пытался создать класс 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;
    }





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

...