此方法是封装的在我的应用中需要去查看我的应用以及判断某个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>
时间: 2024-10-01 01:02:05