Android获取手机上安装的APP和正在显示的APP

    xiaoxiao2021-04-17  40

    获取已安装的APP

    /** * 获取所有非系统应用 * 可以把代码中的判断去掉,获取所有的APP */ private void getAllApps() { SLog.Console("获取所有非系统应用"); String result = ""; PackageManager pManager = context.getPackageManager(); //获取手机内所有应用 List<PackageInfo> paklist = pManager.getInstalledPackages(0); for (int i = 0; i < paklist.size(); i++) { PackageInfo pak = (PackageInfo) paklist.get(i); //判断是否为非系统预装的应用程序 if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) { // customs applications if (TextUtils.isEmpty(result)) { result = pak.applicationInfo.loadLabel(pManager).toString(); } else { result = result + "," + pak.applicationInfo.loadLabel(pManager).toString(); } } } SLog.Console("设备安装非系统应用信息:" + result); }

    获取正在显示的APP

    public void getCurrentDisplayAPPInfo() { SLog.Console("当前界面显示"); try { ActivityManager mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> list = mActivityManager.getRunningAppProcesses(); String mPackageName = ""; if (Build.VERSION.SDK_INT > 20) { mPackageName = getTopActivty(); } else { mPackageName = mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName(); } if (!TextUtils.isEmpty(mPackageName)) { SLog.Console("当前界面显示的App:" + mPackageName); } } catch (Exception e) { e.printStackTrace(); } }
    转载请注明原文地址: https://ju.6miu.com/read-673545.html

    最新回复(0)