Убить приложение для Android через X раз - PullRequest
0 голосов
/ 30 ноября 2018

Я искал способ убить свое приложение после того, как пользователь поместил его в фоновом режиме, по крайней мере, на 30 минут.

Пока что я нашел такие вещи, как:

getActivity().finish();
Process.killProcess(Process.myPid());
System.exit(1);

private void stopServices() {        
    final ActivityManager activityManager = SystemServices.getActivityManager(context);
    final List<ActivityManager.RunningServiceInfo> runningServices = activityManager.getRunningServices(Integer.MAX_VALUE);
    final int pid = Process.myPid();
    for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) {
        if (serviceInfo.pid == pid && !SenderService.class.getName().equals(serviceInfo.service.getClassName())) {
            try {
                final Intent intent = new Intent();
                intent.setComponent(serviceInfo.service);
                context.stopService(intent);
            } catch (SecurityException e) { 
                 // handle exception
            }
        }
    }
}

Практически то, что я до сих пор искал, так это то, что после использования API 21

finishAndRemoveTask();

до этого использования this.finishAffinity();

Но как запустить таймер, когда приложение помещено в background на время X, а затем вызовите метод уничтожения приложения.

1 Ответ

0 голосов
/ 01 декабря 2018

Итак, насколько я понимаю, вам нужно 2 вещи:

  1. Выясните, когда ваше приложение находится в фоновом режиме
  2. Запланируйте работу.

Итак, вот 2 ссылки на эти вопросы:

  1. Как определить, находится ли ваше приложение в фоновом режиме
  2. Запланировать работу на Android
...