Android: make the system to kill the app's process instead of destroying paused/stopped activities

Is it possible to force Android to kill the entire app's process instead of destroying activities which run in the background? Because, I don't want the system to recreate the destroyed activities since the app won't work correctly in this case. Thus, I think it's more "user-friendly" to kill the entire process so the user will simply start the app again and everything works as is should. The solution should not affect normal "resuming" (when the activity is still running in background)..

Answers


Is it possible to force Android to kill the entire app's process instead of destroying activities which run in the background?

Yes, use android.os.Process.killProcess(android.os.Process.myPid()); For more info refer Process

myPid () - Returns the identifier of the process, which can be used with killProcess(int)


Of course. Don't forget another function.

ActivityManager activityManager = (ActivityManager)  getActivity().getSystemService(Context.ACTIVITY_SERVICE);
activityManager.killBackgroundProcesses(processName);

DO NOT kill the process when activity is destroyed... because OnDestroy on some devices (on many) is called when user lock the screen. (or on screen rotation...)

As an example of an call flow on a android device:

OnCreate .... user press the lock screen ... OnDestroy OnCreate - I don't know why this onCreate is called during the lock ... user unlock the screen .. .. onResume.

Normally application should handle such situations and save its state like here: Saving Android Activity state using Save Instance State


Need Your Help

To Get Date From DateTime Variable

c# date datetime

I have a variable testDate which contains value {01/02/2016 AM 12:00:00}. I need to get only date part from the set. For that I used below code: