private boolean isAppRunning (Context context) {
String packageName = context.getPackageName();
String topActivityClassName=getTopActivityName(context);
if (packageName!=null &&topActivityClassName!=null &&topActivityClassName.startsWith(packageName)) {
return true ;
} else {
return false ;
}
}
public String getTopActivityName (Context context){
String topActivityClassName=null ;
ActivityManager activityManager =
(ActivityManager)(context.getSystemService(android.content.Context.ACTIVITY_SERVICE )) ;
List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1 ) ;
if (runningTaskInfos != null ){
ComponentName f=runningTaskInfos.get (0 ).topActivity;
topActivityClassName=f.getClassName();
}
return topActivityClassName;
}
//是否在前台运行,判断是否在前台运行 就判断栈顶的是否是这个包名
info.topActivity .getPackageName ().equals ("com.helloboxpuls" )
//是否在后台运行,判断是否在后台运行 就判断栈中是否有这个包名
info.baseActivity .getPackageName ().equals ("com.helloboxpuls" )