作爲一項安全措施,我希望獲取未從Play商店安裝的應用列表。有沒有辦法做到這一點?Android獲取非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和三星的應用程序。無論如何將它們從列表中刪除?我只想要用戶安裝來自未知來源的應用程序。
如果問題得到解決。將已解決問題的答案標記爲已接受。 –