Android读取桌面安装的应用

来源:互联网 发布:基坑监测数据处理软件 编辑:程序博客网 时间:2024/06/11 11:10

查询出桌面上已经安装的应用

List<AppInfo> appInfos = null;        PackageManager manager = context.getPackageManager();        Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);        //过滤条件        mainIntent.addCategory("com.vrseen.android.vr.application");        //或者根据包名过滤        mainIntent.setPackage("com.vrseen.android.vr.application");        final List<ResolveInfo> apps = manager.queryIntentActivities(                mainIntent, 0);        Collections.sort(apps, new ResolveInfo.DisplayNameComparator(manager));        if (apps != null) {            final int count = apps.size();            if (appInfos == null) {                appInfos = new ArrayList<>(count);            }            appInfos.clear();            for (int i = 0; i < count; i++) {                AppInfo application = new AppInfo();                ResolveInfo info = apps.get(i);                application.title = info.loadLabel(manager);                application.setComponentName(new ComponentName(                        info.activityInfo.applicationInfo.packageName,                        info.activityInfo.name));                application.icon = info.activityInfo.loadIcon(manager);                application.packageName = info.activityInfo.applicationInfo.packageName;                application.setInstallTime(new Date(new File(info.activityInfo.applicationInfo.sourceDir).lastModified()).toGMTString());                application.setVersionName(AppLogic.getPackageVersion(context, application.getPackageName()));                if(!VRHomeConfig.VR_VERSION_SCHEME.equals(application.packageName))                    appInfos.add(application);            }        }
0 0
原创粉丝点击