【问题标题】:queryEvents call returns nothingqueryEvents 调用不返回任何内容
【发布时间】:2019-06-17 22:17:38
【问题描述】:

很抱歉,如果这是一个重复的帖子,但我已经查看了几个问题,但似乎没有一个对我有帮助。所以,我试图调用 queryEvents() 但我什么也没得到。我在这里附上我的代码,如果有人能指出我所缺少的,将不胜感激。它永远不会进入while循环

    final SimpleDateFormat dateFormat = new SimpleDateFormat("M-d-yyyy HH:mm:ss");
    UsageStatsManager usm = (UsageStatsManager) mContext.getSystemService(Context.USAGE_STATS_SERVICE);
    long startTime, endTime;

    endTime = System.currentTimeMillis();
    startTime = endTime - (1000*3600*3);

    Log.d(TAG, "Range start:" + dateFormat.format(startTime) );
    Log.d(TAG, "Range end:" + dateFormat.format(endTime));

    UsageEvents uEvents = usm.queryEvents(startTime, endTime);

    while (uEvents.hasNextEvent())
    {
        UsageEvents.Event e = new UsageEvents.Event();
        uEvents.getNextEvent(e);

        Log.d(TAG, "inside while...");

        if (e != null)
        {
            Log.d(TAG, "Event: " + e.getPackageName() + "\t" +  e.getTimeStamp());
        }

        else
            Log.d(TAG, "e=null");
    }

【问题讨论】:

    标签: android usagestatsmanager usageevents


    【解决方案1】:

    您的代码对我有用。你确定你有android.permission.PACKAGE_USAGE_STATS的权限吗?

    【讨论】:

    • 感谢您的尝试,是的,我确实拥有该权限,但没有运气。我什至删除了所有的 sepolicy 规则
    • 嗯...不知道,因为我说代码对我很有效(如果我的包有以上权限)。您可能希望向我们展示您的活动的完整代码以及您的包的相应清单,以便获得进一步的帮助。
    猜你喜欢
    • 2019-03-05
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2017-02-19
    • 1970-01-01
    相关资源
    最近更新 更多