[英]how to get reliable list of uninstalled packages android
我正在使用帶有GET_UNINSTALLED_PACKAGES
標志的packagemanager獲取軟件包列表,
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
但由於它返回:“有關具有數據目錄的所有應用程序(甚至是已卸載的應用程序)的信息。” 我無法獲得可靠的以前卸載的軟件包列表, 包括沒有在數據目錄后面保留的應用程序 。
有什么辦法可以做到這一點?
免責聲明:我沒有嘗試過此解決方案,但可能會有所幫助(需要Android 5)
在android 5中,有一個新的API:使用此方法的UsageStatsManager :
usageStatsManager.queryAndAggregateUsageStats(startTime,endTime)
返回一個Map
,其中鍵是程序包名稱(值是使用情況統計信息)。 希望其中將包括已卸載的應用程序(但我不確定!)。 當然,您不會獲得AppInfo
(僅包名稱)
還請注意有關所需權限的這一重要說明:
注意:此API需要權限android.permission.PACKAGE_USAGE_STATS,這是系統級別的權限,不會授予第三方應用程序。 但是,聲明許可意味着要使用API,設備的用戶可以通過“設置”應用程序授予許可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.