2015-12-3-获取Android已安装的app信息

来源:互联网 发布:淘宝助理5.5使用教程 编辑:程序博客网 时间:2024/05/20 05:08

获取包含activity应用的信息

PackageManager pm = getPackageManager(); // 获得PackageManager对象Intent mainIntent = new Intent(Intent. ACTION_MAIN, null );mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);List<ResolveInfo> resolveInfos = pm            .queryIntentActivities(mainIntent, 0);appList.clear();for (ResolveInfo reInfo : resolveInfos) {       // 可能一个包有多个图标      LogExt. LogD(this, Thread. currentThread().getStackTrace(),                   "reInfo.activityInfo.name=" + reInfo.activityInfo.name );      String activityName = reInfo. activityInfo.name ; // 获得该应用程序的启动Activity的name      String appLabel = (String) reInfo.loadLabel(pm); // 获得应用程序的Label      Drawable icon = reInfo.loadIcon(pm); // 获得应用程序图标       // 创建一个AppInfo对象,并赋值      AppInfo tmpInfo = new AppInfo();      tmpInfo. appName = appLabel;      tmpInfo. packageName = reInfo.activityInfo .packageName ;      tmpInfo. mainActivityName = activityName;      tmpInfo. appIcon = icon;       appList.add(tmpInfo);}

获取所有的App信息

PackageManager pm = getPackageManager();List<PackageInfo> packages = pm//                      .getInstalledPackages(0);            .getInstalledPackages(PackageManager. MATCH_DEFAULT_ONLY);LogExt.LogD (this , Thread.currentThread ().getStackTrace(),             "packages.size() = " + packages.size());appList.clear();for (int i = 0; i < packages.size(); i++) {      PackageInfo packageInfo = packages.get(i);      AppInfo tmpInfo = new AppInfo();      tmpInfo. appName = packageInfo.applicationInfo .loadLabel(                  getPackageManager()).toString();      tmpInfo. packageName = packageInfo.packageName ;      tmpInfo. versionName = packageInfo.versionName ;      tmpInfo. versionCode = packageInfo.versionCode ;      tmpInfo. appIcon = packageInfo.applicationInfo                  .loadIcon(getPackageManager());       appList.add(tmpInfo);}
0 0
原创粉丝点击