1

In my app, i have to get the app usage statistics including app name, total foreground duration and launch count. But i am not able to get mLaunchCount, have anyone know alternative way to get the value.

Below is my code to get app name and foreground time:

UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService(Context.USAGE_STATS_SERVICE);
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.YEAR, -1);
        List<UsageStats> queryUsageStats = mUsageStatsManager
                .queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(),
                        System.currentTimeMillis());
        for(int i=0;i<queryUsageStats.size();i++){
            UsageStats data = queryUsageStats.get(i);
            PackageManager packageManager= getApplicationContext().getPackageManager();
            String appName;
            try {
                appName = (String) packageManager.getApplicationLabel(packageManager.getApplicationInfo(data.getPackageName(), PackageManager.GET_META_DATA));
            } catch (final PackageManager.NameNotFoundException e) {
                appName = "Unknown";
            }
            str = str.append(appName+"  "+data.getTotalTimeInForeground()/1000+"s  "+"\n");
        }

UPDATE: The url for the UsageStats api class

SGCB
  • 11
  • 1
  • 4

0 Answers0