簡體   English   中英

如何獲取已卸載軟件包的可靠列表android

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM