ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);        List infoList = am.getRunningAppProcesses();        for (ActivityManager.RunningAppProcessInfo info : infoList) {            //进程名称            String processName = info.processName;            //进程的重要程度(越低越重要)            int importance = info.importance;            if (importance > ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {                //该进程下的所有包名                String[] pkgList = info.pkgList;                for (String pkgName : pkgList) {                    //杀掉该包对应的程序                    am.killBackgroundProcesses(pkgName);                }            }        }


代码就是上面的这些,获取当前正在运行的进程并获取该进程下所有的包名,那么我们在哪些情况下需要获取正在运行的所有app?

第一种

  有时候我们的app需要跳转到另外一个不是自己公司开发app,那么跳转前肯定要检测下当前手机是否安装了别人公司的app,如果安装了就跳转,没有安装就弹出下载框。检测是否安装了某app的重点就是:要获取到某app的包名

        Intent intent = mContext.getPackageManager().getLaunchIntentForPackage("com.aaa.bbb");        if (intent != null) {            //该app存在            startActivity(intent);        } else {            //TODO: 开始下载        }
  检测是否安装app的代码如上,那么如果你想检测某app的话,就需要拿到那个app的包名,这时候就要用到一开始的代码了。


第二种

  强行关闭竞争对手的进程。调用ActivityManager的killBackgroundProcess("com.aaa.bbb")来kill掉别人的app

更多相关文章

  1. 超新鲜的字节客户端Android面经,附面试题答案解析
  2. android 获取局域网内其他手机的ip
  3. Android(安卓)获取无线蓝牙MAC信息代码
  4. Android获取WiFi ip相关信息
  5. Android工具类
  6. Android获取应用的签名信息
  7. android 获取屏幕分辨率
  8. android朋友圈监听键盘状态 点击空白区域隐藏键盘
  9. android 获取当前系统的语言

随机推荐

  1. Android短信拦截
  2. android ExpandableListView详解
  3. android:sharedUserId权限问题
  4. The import com.google cannot be resolv
  5. cocos2d-x学习之旅(四):1.4 使用eclipse
  6. Android开发之SurfaceView
  7. android沉浸式状态栏
  8. Android(安卓)studio爬取网页
  9. android 设置Button或者ImageButton的背
  10. Android(安卓)FactoryTest 流程