Как прекратить работу приложения прекращая все воркеры и сервисы?
У меня появилась идея добавлять в приложение дистанционный блокер, чтобы в случае не уплаты клиентом за работу, можно было заблокировать приложение. Логику я придумал, а вот к самому эффективному методу блокирования ещё не пришёл. Пока что не придумал ничего лучше чем “ finishAndRemoveTask() “, что будет просто не давать возможность открыть приложение. Просто интерестно, может есть какие то идеи как ещё можно прекратить работу приложения не просто закрывая его например, а ещё и прекращая все воркеры и сервисы?
Ответы (1 шт):
Для api>=16 - finishAffinity()
Для api>=21 - finishAndRemoveTask() - ваш способ.
Так же есть вариант такой:
this.finish();
Process.killProcess( Process.myPid() );
Закрыть приложение можно и таким способом:
this.finish();
System.exit(0);
Убить процессы можно так:
Process.sendSignal(pid, Process.SIGNAL_KILL);
Чтобы полностью все убить можно использовать такой способ:
ActivityManager.killBackgroundProcesses(packageNameToKill)
Но предварительно проверьте в манифесте разрешение:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />