此方法是封装的在我的应用中需要去查看我的应用以及判断某个activity是否是运行在手机界面上
packageName 是需要判断是应用的包名 比如 com.xy.tencent
也可以判断某个activity是否显示在当前手机上面 反正就是写完整的路径就可以了!
<span style="font-size:18px;">/**
* 判断程序的运行在前台还是后台
*
* @param context
* @return 0在后台运行 大于0在前台运行 2表示当前主界面是MainFragmentActivity
*/
public static int isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
String packageName = "com.xy.tencent";
String bingMapMainActivityClassName = "com.xy.tencent.activity.MainFragmentActivity";
List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
if (tasksInfo.size() > 0) {
ComponentName topConponent = tasksInfo.get(0).topActivity;
LogUtil.d("TAG",
"topConponent.getPackageName()..."
+ topConponent.getPackageName());
if (packageName.equals(topConponent.getPackageName())) {
// 当前的APP在前台运行
if (topConponent.getClassName().equals(
bingMapMainActivityClassName)) {
// 当前正在运行的是不是期望的Activity
LogUtil.d("TAG", "MainFragmentActivity在运行");
return 2;
}
LogUtil.d("TAG", "com.xy.tencent前台运行");
return 1;
} else {
// 当前的APP在后台运行
LogUtil.d("TAG", "com.xy.tencent后台运行");
return 0;
}
}
return 0;
}</span>原文地址:http://blog.csdn.net/xiaoyi_tdcq/article/details/42060607