【问题标题】:Get a list of apps installed from market获取从市场安装的应用程序列表
【发布时间】:2013-01-13 11:07:23
【问题描述】:

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

    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”并将其标记为系统应用程序的非常规方法。有没有一种传统方法可以让我只找到第三方(来自市场)应用程序?

【问题讨论】:

标签: android package google-play


【解决方案1】:

您可以在您检索到的所有包裹上致电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
   }
}

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多