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:

publicclassMyApplicationextendsApplication {

     @Overridepublicvoid onCreate (){
     super.onCreate();
     registerActivityLifecycleCallbacks(newMyActivityLifecycleCallbacks());
     }

        @Overridepublicvoid onTerminate (){
         super.onTerminate();
        }

        @Overridepublicvoid onConfigurationChanged (Configuration newConfig){
         super.onConfigurationChanged(newConfig);
        }

        privatestatic final classMyActivityLifecycleCallbacksimplementsActivityLifecycleCallbacks {

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

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

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

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

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

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

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

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

Solution 2:

Try This

publicstaticbooleanisAppRunning(Context context) 
    {
        ActivityManageractivityManager= (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) 
                {
                    returntrue;
                } 
            }
        }
        returnfalse;
    }

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