gpt4 book ai didi

android - 如何使用 Android API 21 Lollipop 获取最近的应用程序列表?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:14:23 25 4
gpt4 key购买 nike

我正在创建一个家庭启动器,我想与 Android 5.0 Lollipop 兼容。我想获取启动器上最近使用的应用程序列表。

但是由于 ActivityManager.getRecentTasks() 在 API 21 中不再有效,我该怎么做呢?

最佳答案

String topPackageName ;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats");
long time = System.currentTimeMillis();
// We get usage stats for the last 10 seconds
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time);
// Sort the stats by the last time used
if(stats != null) {
SortedMap<Long,UsageStats> mySortedMap = new TreeMap<Long,UsageStats>();
for (UsageStats usageStats : stats) {
mySortedMap.put(usageStats.getLastTimeUsed(),usageStats);
}
if(mySortedMap != null && !mySortedMap.isEmpty()) {
topPackageName = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
}
}
}

使用 UsageStatsManager ,可以获取当前运行的前台包名。

来源:How to get recent tasks on Android "L"?

关于android - 如何使用 Android API 21 Lollipop 获取最近的应用程序列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com