检测某ActivityUpdate是否在当前Task的栈顶

public static boolean isTopActivy(String cmdName, Context context)    {        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List runningTaskInfos = manager.getRunningTasks(Integer.MAX_VALUE);        String cmpNameTemp = null;        if (null != runningTaskInfos)        {            cmpNameTemp = (runningTaskInfos.get(0).topActivity).toString();        }        if (null == cmpNameTemp)        {            return false;        }                return cmpNameTemp.equals(cmdName);    }


判断Android应用是否在前台

public static boolean isAppOnForeground(Context context)    {        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        String packageName = context.getPackageName();        List appTask = activityManager.getRecentTasks(Integer.MAX_VALUE, 1);                if (appTask == null)        {            return false;        }                if (appTask.get(0).baseIntent.toString().contains(packageName))        {            return true;        }        return false;    }


获取Android手机内安装的所有桌面

private static List getAllTheLauncher(Context context)    {        List names = null;        PackageManager pkgMgt = context.getPackageManager();        Intent it = new Intent(Intent.ACTION_MAIN);        it.addCategory(Intent.CATEGORY_HOME);        List ra = pkgMgt.queryIntentActivities(it, 0);        if (ra.size() != 0)        {            names = new ArrayList();        }        for (int i = 0; i < ra.size(); i++)        {            String packageName = ra.get(i).activityInfo.packageName;            names.add(packageName);        }        return names;    }


Android 判断程序前后台状态

public static boolean isLauncherRunnig(Context context)    {        boolean result = false;        List names = getAllTheLauncher(context);        ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List appList = mActivityManager.getRunningAppProcesses();        for (RunningAppProcessInfo running : appList)        {            if (running.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND)            {                for (int i = 0; i < names.size(); i++)                {                    if (names.get(i).equals(running.processName))                    {                        result = true;                        break;                    }                }            }        }        return result;    }


 

更多相关文章

  1. Android(安卓)开机自启和后台自启权限
  2. ### Android(安卓)判断app的状态 重启app
  3. android 笔记:判断手机是否显示虚拟按键
  4. Android判断是否有网络连接
  5. Jquery 判断是否 移动设备 浏览
  6. Android判断app是否打开消息通知并跳转设置
  7. Android中判断app是否连接网络
  8. android listView 滚动加载显示
  9. Android(安卓)根据包名杀死应用后台进程

随机推荐

  1. 【android】在Eclipse中关联所引用的jar
  2. 如何从android的联系人姓名中获取联系人
  3. 求教:如何通过JNI调用手机自身摄像头录像
  4. android开发之流量监控
  5. 探秘腾讯Android手机游戏平台之不安装游
  6. android插件化-apkplug框架启动-02
  7. 使用 VirtualBox 虚拟机在电脑上运行 And
  8. OpenGL es 2.0使用shadow mapping方法制
  9. Android复习练习十二(自定义ContentProvi
  10. 不能调用确定性可视性()从未看到PID的连