Skip to content Skip to sidebar Skip to footer

Android How To Check If My App Is Still Runing

I want to create a handler or what ever to check if the app is still running, something like while(appIsRunning) { //do something } do somthimg

Solution 1:

Use "ActivityLifecycleCallbacks" and use it this way:

    public class MyApplication extends Application {

     @Override
     public void onCreate (){
     super.onCreate();
     registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks());
     }

        @Override
        public void onTerminate (){
         super.onTerminate();
        }

        @Override
        public void onConfigurationChanged (Configuration newConfig){
         super.onConfigurationChanged(newConfig);
        }

        private static final class MyActivityLifecycleCallbacks implements ActivityLifecycleCallbacks {

      public void onActivityCreated(Activity activity, Bundle bundle) {
       Log.e("","onActivityCreated:" + activity.getLocalClassName());
      }

      public void onActivityDestroyed(Activity activity) {
       Log.e("","onActivityDestroyed:" + activity.getLocalClassName());
      }

      public void onActivityPaused(Activity activity) {
       Log.e("","onActivityPaused:" + activity.getLocalClassName());
      }

      public void onActivityResumed(Activity activity) {
       Log.e("","onActivityResumed:" + activity.getLocalClassName());
      }

      public void onActivitySaveInstanceState(Activity activity,
        Bundle outState) {
       Log.e("","onActivitySaveInstanceState:" + activity.getLocalClassName());
      }

      public void onActivityStarted(Activity activity) {
       Log.e("","onActivityStarted:" + activity.getLocalClassName());
      }

      public void onActivityStopped(Activity activity) {
       Log.e("","onActivityStopped:" + activity.getLocalClassName());
      }
        }
    }

This way you can check each state and do anything...


Solution 2:

Try This

public static boolean isAppRunning(Context context) 
    {
        ActivityManager activityManager = (ActivityManager) context
            .getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> appProcesses = activityManager
            .getRunningAppProcesses();
        for (RunningAppProcessInfo appProcess : appProcesses) 
         {
            if (appProcess.processName.equals(context.getPackageName())) 
            {
                if (appProcess.importance != RunningAppProcessInfo.IMPORTANCE_PERCEPTIBLE) 
                {
                    return true;
                } 
            }
        }
        return false;
    }

Post a Comment for "Android How To Check If My App Is Still Runing"