现在的位置: 首页 > 综合 > 正文

Android 边用边学 之 获取系统内安装的软件信息

2017年11月18日 ⁄ 综合 ⁄ 共 1003字 ⁄ 字号 评论关闭

       每个android手机都有“管理应用程序”这个功能,里面列出了我们手机系统里安装的全部软件,今天突发奇想,这个是怎么实现的呢?自己也想写一个程序,能够把手机里面全部的软件都列出来,于是就上网找资料,发现这个实现起来一点都不难。

       下面直接把源代码贴出来,一目了然,都不需要什么解释的:

PackageManager pManager = getPackageManager();
List<PackageInfo> appList = getAllApps(main.this);
 
for (int i = 0; i < appList.size(); i++)
{

  PackageInfo pinfo = appList.get(i);

  //包名
  pinfo.applicationInfo.packageName;
 
  //图片名
  pManager.getApplicationIcon(pinfo.applicationInfo);
 
  //应用名
  pManager.getApplicationLabel(pinfo.applicationInfo).toString();

}

       getAllApps方法:

public static List<PackageInfo> getAllApps(Context context)
{
  List<PackageInfo> apps = new ArrayList<PackageInfo>();
  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)
    {
      apps.add(pak);
    }
  }
 return apps;
}

//这个是把所有非系统软件列出来了,要是需要全部的话,不用那个判断就好了。

       结束,真的很方便!

 

抱歉!评论已关闭.