Как прекратить работу приложения прекращая все воркеры и сервисы?

У меня появилась идея добавлять в приложение дистанционный блокер, чтобы в случае не уплаты клиентом за работу, можно было заблокировать приложение. Логику я придумал, а вот к самому эффективному методу блокирования ещё не пришёл. Пока что не придумал ничего лучше чем “ finishAndRemoveTask() “, что будет просто не давать возможность открыть приложение. Просто интерестно, может есть какие то идеи как ещё можно прекратить работу приложения не просто закрывая его например, а ещё и прекращая все воркеры и сервисы?


Ответы (1 шт):

Автор решения: Andrew

Для 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" />
→ Ссылка