我的应用必须获取有关当前正在前台运行的应用程序的信息。
我尝试了所有正在运行的进程:
ActivityManager activityManager = (ActivityManager) MyApplication.getAppContext().getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processInfoList = activityManager.getRunningAppProcesses();
仅在版本&lt;棒糖。我从Stackoverflow尝试了很多解决方案,但都没有用。
有什么想法吗?
答案 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
的应用,以便将当前应用置于前台。请记住添加权限!