如何在Android中过滤用户安装的应用程序?

时间:2011-08-20 14:06:56

标签: android

我正在创建一个方法来显示android中已安装的应用程序。我给出了以下代码行来获取应用程序列表

PackageManager packageManager=this.getPackageManager(); 
        List<PackageInfo> applist=packageManager.getInstalledPackages(0);
        Iterator<PackageInfo> it=applist.iterator();
        while(it.hasNext())
            {
                PackageInfo pk=(PackageInfo)it.next();
                    if(PackageManager.PERMISSION_GRANTED==packageManager.checkPermission(Manifest.permission.INTERNET, pk.packageName)) //checking if the package is having INTERNET permission
                        {
                            //some processing
                        }
            }
}

这里一切正常,但列表也包括系统包。我只需要获取用户安装的软件包列表。有什么办法吗?

我们应该在getInstalledPackages()中设置什么标志来获取用户安装的包?

1 个答案:

答案 0 :(得分:3)

如果ApplicationInfo对象安装在固件上,它将具有FLAG_SYSTEM,因此您可以使用它来过滤掉它们。