android判断某个应用或者activity是否在运行

来源:互联网 发布:软件企业简介 编辑:程序博客网 时间:2024/04/25 22:10


此方法是封装的在我的应用中需要去查看我的应用以及判断某个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)) {// 当前正在运行的是不是期望的ActivityLogUtil.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>


1 0