【发布时间】:2017-02-14 12:02:23
【问题描述】:
作为一项安全措施,我想获取未从 Play 商店安装的应用列表。有没有办法做到这一点?
packageManager 包含一个方法getInstalledApplications,但我不知道要添加哪些标志来获取列表。任何帮助将不胜感激。
编辑:这是 v4_adi 答案的代码示例。
public static List<String> getAppsFromUnknownSources(Context context)
{
List<String> apps = new ArrayList<>();
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> packList = packageManager.getInstalledPackages(0);
for (int i = 0; i < packList.size(); i++)
{
PackageInfo packInfo = packList.get(i);
if (packageManager.getInstallerPackageName(packInfo.packageName) == null)
{
apps.add(packInfo.packageName);
}
}
return apps;
}
这是一个良好的开端,但是这也为预装的 Android 和三星应用带来了很多回报。无论如何要从列表中删除它们吗?我只希望用户安装来自未知来源的应用程序。
【问题讨论】:
-
如果问题得到解决。将解决您的问题的答案标记为已接受。
标签: android google-play android-package-managers installed-applications