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
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
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...
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;
}