android - 如何务实地获取最近使用的应用程序?
问题描述
我正在尝试在我的应用程序中实现添加最近打开的应用程序。我正在尝试使用getRunningAppProcess()但它只给了我我的应用程序详细信息。此外,尝试使用getSystemService(),但没有得到任何线索。找到了UsageStats的upvote解决方案,它也只提供了我的应用程序详细信息。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, -5);
final List<UsageStats> stats =
mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST,
cal.getTimeInMillis(), System.currentTimeMillis());
if (stats == null) {
return;
}
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
解决方案
我建议您查看github 上的App usage statistics API,它将允许您收集与应用程序使用相关的统计信息。它提供了比不推荐使用的方法更详细的使用信息getRecentTasks()
。
推荐阅读
- html - 如何使用 CSS inset 将元素定位在右上角?
- python - python中的call()和__call__()方法有什么区别?
- python - Python 循环中的 .append 正在替换所有元素
- python - 使用win32写入excel文件后,文件不加载
- python-3.x - 如何为 selenium (python) 获取正确的 css 选择器
- python-3.x - 如何让 wexpect 与 python 脚本交互?
- amazon-web-services - Terraform:动态路由表路由,无法从字符串列表中检索元素
- pine-script - 如何将特定范围定义为“sum(x, len)”的长度?
- reactjs - 其他点击后功能 setTimeout 不起作用
- python - Dask 数据帧崩溃