Я искал способ убить свое приложение после того, как пользователь поместил его в фоновом режиме, по крайней мере, на 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, а затем вызовите метод уничтожения приложения.