[英]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.