Android - Kill an app when screen turned off or screen times out

2.4k views Asked by At

I want to kill / fully close an app so it doesn’t run even in the background when I press the screen turn on/off button or if the screen times out. I couldn’t find a solution anywhere on the internet. Can you guys help me out with a code snippet? Thanks

3

There are 3 answers

0
Hashir Sheikh On BEST ANSWER

you can refer this link to detect screen turn off Screen off Broadcast receiver and for killing the app you can use below code

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
0
A.S On

first check if the screen is locked inside a service that runs in the background:

KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if( myKM.inKeyguardRestrictedInputMode()) {
 //it is locked
  getActivity().finish();
  System.exit(0);
} else {
 //it is not locked
}

then you simply kill the app if the screen is locked. hope this will help.

0
Aleksandr On

To make activity like a toast (appear-and-go) add following code into manifest:

<activity   android:name=".YourActivity"
            android:label="YourActivityLabel"
            android:taskAffinity=""
            android:clearTaskOnLaunch="true"
            android:excludeFromRecents="true"
            android:finishOnTaskLaunch="true"
            android:noHistory="true"
            android:launchMode="singleTask">
</activity>