droid_dev
droid_dev

Reputation: 303

queryEvents call returns nothing

I'm sorry if this is a repeat post, but I've looked at several questions and none of them seem to help me. So, I'm trying to call queryEvents() but I get nothing. I'm attaching my code here, would appreciate if anyone can point out what I'm missing. It never enters the while loop

    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");
    }

Upvotes: 1

Views: 430

Answers (1)

BBB
BBB

Reputation: 342

Your code works for me. Did you make sure that you have the permission android.permission.PACKAGE_USAGE_STATS?

Upvotes: 0

Related Questions