当>如何在android中找到当前正在运行的应用程序棒糖?

时间:2017-02-21 07:22:38

标签: java android

我的应用必须获取有关当前正在前台运行的应用程序的信息。

我尝试了所有正在运行的进程:

ActivityManager activityManager = (ActivityManager) MyApplication.getAppContext().getSystemService(ACTIVITY_SERVICE);

List<ActivityManager.RunningAppProcessInfo> processInfoList = activityManager.getRunningAppProcesses();

仅在版本&lt;棒糖。我从Stackoverflow尝试了很多解决方案,但都没有用。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

请参阅UsageStatsManager

您可以获得最新的应用程序:

Calendar calendar = Calendar.getInstance();
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE), 0, 0);

UsageStatsManager usageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE);
List<UsageStats> usageStatsList = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, calendar.getTimeInMillis(), System.currentTimeMillis());

并且List<UsageStats>您可以获得一个最大lastTimeUsed的应用,以便将当前应用置于前台。请记住添加权限!