android 5.0以上检测前台应用 包名 UsageStatsManager方法

android 5.0以上检测前台应用 包名 UsageStatsManager方法 我设定的是每5秒检测一次 可是执行了1分钟之后 它就停止了 没有数据反回不同机型持续执行的时间不同,当切换到其他的应用又开始执行了
UsageStatsManager mUsageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE);
long time = System.currentTimeMillis();
List stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 60*1000 * 3, time);

        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();
                    return topPackageName;
            }
        }

我的魅族手机 每五秒检测一次 执行12次 1分钟之后 就不执行了

感觉可以申请个电量的wakelock试试