String getTopPackage(){ long ts = System.currentTimeMillis(); UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats"); List<UsageStats> usageStats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, ts-1000, ts); if (usageStats == null || usageStats.size() == 0) { return NONE_PKG; } Collections.sort(usageStats, mRecentComp); return usageStats.get(0).getPackageName(); }
String topPackageName ; if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats"); long time = System.currentTimeMillis(); // We get usage stats for the last 10 seconds List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time); // Sort the stats by the last time used if(stats != null) { SortedMap<Long,UsageStats> mySortedMap = new TreeMap<Long,UsageStats>(); for (UsageStats usageStats : stats) { mySortedMap.put(usageStats.getLastTimeUsed(),usageStats); } if(!mySortedMap.isEmpty()) { topPackageName = mySortedMap.get(mySortedMap.lastKey()).getPackageName(); } } }
public void getTopActivtyFromLolipopOnwards(){ String topPackageName ; if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService(Context.USAGE_STATS_SERVICE); long time = System.currentTimeMillis(); // We get usage stats for the last 10 seconds List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time); // Sort the stats by the last time used 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(); Log.e("TopPackage Name",topPackageName); } } } }
@Test public void queryUsageStats_noStatsAdded() { List<UsageStats> results = usageStatsManager.queryUsageStats(INTERVAL_WEEKLY, 0, 3000); assertThat(results).isEmpty(); }
long milliSecs = 60 * 1000; Date date = new Date(); List<UsageStats> queryUsageStats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, date.getTime() - milliSecs, date.getTime()); if (queryUsageStats.size() > 0) { Log.i("LPU", "queryUsageStats size: " + queryUsageStats.size());
@Test public void queryUsageStats_multipleIntervalTypes() { // Weekly data. UsageStats usageStats1 = newUsageStats(TEST_PACKAGE_NAME1, 1000, 2000); UsageStats usageStats2 = newUsageStats(TEST_PACKAGE_NAME1, 2001, 3000); shadowOf(usageStatsManager).addUsageStats(INTERVAL_WEEKLY, usageStats1); shadowOf(usageStatsManager).addUsageStats(INTERVAL_WEEKLY, usageStats2); // Daily data. UsageStats usageStats3 = newUsageStats(TEST_PACKAGE_NAME1, 2001, 3000); shadowOf(usageStatsManager).addUsageStats(INTERVAL_DAILY, usageStats3); List<UsageStats> results = usageStatsManager.queryUsageStats(INTERVAL_WEEKLY, 0, 3000); assertThat(results).containsExactly(usageStats1, usageStats2); results = usageStatsManager.queryUsageStats(INTERVAL_DAILY, 0, 3000); assertThat(results).containsExactly(usageStats3); }
@Test public void queryUsageStats() { UsageStats usageStats1 = newUsageStats(TEST_PACKAGE_NAME1, 0, 1000); UsageStats usageStats2 = newUsageStats(TEST_PACKAGE_NAME1, 1001, 2000); UsageStats usageStats3 = newUsageStats(TEST_PACKAGE_NAME1, 2001, 3000); UsageStats usageStats4 = newUsageStats(TEST_PACKAGE_NAME1, 3001, 4000); shadowOf(usageStatsManager).addUsageStats(INTERVAL_WEEKLY, usageStats1); shadowOf(usageStatsManager).addUsageStats(INTERVAL_WEEKLY, usageStats2); shadowOf(usageStatsManager).addUsageStats(INTERVAL_WEEKLY, usageStats3); shadowOf(usageStatsManager).addUsageStats(INTERVAL_WEEKLY, usageStats4); // Query fully covers usageStats 2 and 3, and partially overlaps with 4. List<UsageStats> results = usageStatsManager.queryUsageStats(INTERVAL_WEEKLY, 1001, 3500); assertThat(results).containsExactly(usageStats2, usageStats3, usageStats4); }
private void printForegroundTask() { String currentApp = "NULL"; if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager usm = (UsageStatsManager) this.getSystemService(Context.USAGE_STATS_SERVICE); long time = System.currentTimeMillis(); List<UsageStats> appList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*1000, time); if (appList != null && appList.size() > 0) { SortedMap<Long, UsageStats> mySortedMap = new TreeMap<Long, UsageStats>(); for (UsageStats usageStats : appList) { mySortedMap.put(usageStats.getLastTimeUsed(), usageStats); } if (mySortedMap != null && !mySortedMap.isEmpty()) { currentApp = mySortedMap.get(mySortedMap.lastKey()).getPackageName(); } } } else { ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> tasks = am.getRunningAppProcesses(); currentApp = tasks.get(0).processName; } Log.e(TAG, "Current App in foreground is: " + currentApp); }
private String printForegroundTask() { String currentApp = "NULL"; if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager usm = (UsageStatsManager)this.getSystemService("usagestats"); long time = System.currentTimeMillis(); List<UsageStats> appList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*1000, time); if (appList != null && appList.size() > 0) { SortedMap<Long, UsageStats> mySortedMap = new TreeMap<Long, UsageStats>(); for (UsageStats usageStats : appList) { mySortedMap.put(usageStats.getLastTimeUsed(), usageStats); } if (mySortedMap != null && !mySortedMap.isEmpty()) { currentApp = mySortedMap.get(mySortedMap.lastKey()).getPackageName(); } } } else { ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> tasks = am.getRunningAppProcesses(); currentApp = tasks.get(0).processName; } Log.e("adapter", "Current App in foreground is: " + currentApp); return currentApp; }
@TargetApi(Build.VERSION_CODES.LOLLIPOP) public boolean doIHavePermission(){ final UsageStatsManager usageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); final List<UsageStats> queryUsageStats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, 0, System.currentTimeMillis()); return !queryUsageStats.isEmpty(); }
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats"); long time = System.currentTimeMillis(); List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time); }
//noinspection ResourceType final UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService("usagestats");// Context.USAGE_STATS_SERVICE); final int currentYear=Calendar.getInstance().get(Calendar.YEAR); final List<UsageStats> queryUsageStats=usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_YEARLY,currentYear-2,currentYear);
if (Build.VERSION.SDK_INT >= 21) { UsageStatsManager mUsageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); long time = System.currentTimeMillis(); List stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time); if (stats == null || stats.isEmpty()) { Intent intent = new Intent(); intent.setAction(Settings.ACTION_USAGE_ACCESS_SETTINGS); context.startActivity(intent); } }
@TargetApi(Build.VERSION_CODES.LOLLIPOP) public static boolean isUsageAccess() { long ts = System.currentTimeMillis(); UsageStatsManager usageStatsManager = (UsageStatsManager) context.getSystemService(USAGE_STATS_SERVICE); List queryUsageStats = usageStatsManager.queryUsageStats( UsageStatsManager.INTERVAL_BEST, 0, ts); if (queryUsageStats == null || queryUsageStats.isEmpty()) { return false; } return true; }
UsageStatsManager usageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); Calendar year2013 = Calendar.getInstance(); year2013.set(2013, 0, 1); List<UsageStats> stats = usageStatsManager.queryUsageStats( UsageStatsManager.INTERVAL_YEARLY, // or adjust for "younger" devices to get more precision - so, you'll probably need several queries year2013.getTimeMillis(), Calendar.getInstance().getTimeInMillis()); // now, first element in stats (if it is present at all) will point to the "earliest" statistics saved *for this interval* (yearly in this case) // use UsageStats.getFirstTimeStamp() to get first known/saved usage
if (Build.VERSION.SDK_INT >= 21) { UsageStatsManager mUsageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); long time = System.currentTimeMillis(); List stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time); if (stats == null || stats.isEmpty()) { Intent intent = new Intent(); intent.setAction(Settings.ACTION_USAGE_ACCESS_SETTINGS); context.startActivity(intent); } }
UsageStatsManager usageStatsManager = (UsageStatsManager)getSystemService(USAGE_STATS_SERVICE); Calendar cal = Calendar.getInstance(); cal.add(Calendar.YEAR, -1); long start = cal.getTimeInMillis(); long end = System.currentTimeMillis(); List<UsageStats> queryUsageStats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, start, end); for (UsageStats stats : queryUsageStats) { Log.e("TAG", "Usage stats for: " + stats.getPackageName()); }
@TargetApi(21) public static List<UsageStats> getUsageStats(Context context) { final UsageStatsManager usageStatsManager = (UsageStatsManager)context.getSystemService(USAGE_STATS_SERVICE_NAME); // Context.USAGE_STATS_SERVICE); long time = System.currentTimeMillis(); List<UsageStats> stats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - USAGE_STATS_QUERY_TIMEFRAME, time); if (stats.size() > 1) { Collections.sort(stats, new Tools.UsageStatsComparator()); } return stats; }
String topPackageName ; if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats"); long time = System.currentTimeMillis(); // We get usage stats for the last 10 seconds List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time); // Sort the stats by the last time used 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(); } } }
//no inspection ResourceType UsageStatsManager mUsageStatsManager = (UsageStatsManager)context.getSystemService("usagestats"); long time = System.currentTimeMillis(); // We get usage stats for the last 10 seconds List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time); // Sort the stats by the last time used if(stats != null) { SortedMap<Long,UsageStats> mySortedMap = new TreeMap<>(); for (UsageStats usageStats : stats) { mySortedMap.put(usageStats.getLastTimeUsed(),usageStats); } if(mySortedMap != null && !mySortedMap.isEmpty()) { return mySortedMap.get(mySortedMap.lastKey()).getPackageName(); } } return null;