繁体   English   中英

获取从市场安装的应用程序列表

[英]Get a list of apps installed from market

我有列出所有已安装应用程序的代码:

    final PackageManager pm = getPackageManager();
    //get a list of installed apps.
            List<ApplicationInfo> packages = pm
                    .getInstalledApplications(PackageManager.GET_META_DATA);

            for (ApplicationInfo packageInfo : packages) {

                Log.d("Tag", "Installed package :" + packageInfo.packageName); 

            }

如何区分系统应用和市场上已安装的应用? 我想我想出了一种非常规的方法来在包名称中搜索“ android”,并将其标记为系统应用。 我是否可以通过常规方式仅从市场中找到第三方应用程序?

您可以在检索到的所有软件包上调用getInstallerPackageName() 尽管可以对其进行篡改,但对于您的目的来说应该足够了。

您还可以使用类似:

List<ApplicationInfo> apps = getPackageManager().getInstalledApplications(0);
for (int i=0; i < apps.size(); i++)
{
    if ((apps.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0)
    {
         //System app
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM