I want to know the time spent by all applications running in an android device . I am getting all packages names using the following code .Please guide me how to link packag
If you want to get the foreground running time of all applications in android lollipop use the following piece of code.
//Variables with dummy values and objects.
UsageStats usageStats;
String PackageName = "Nothing" ;
long TimeInforground = 500 ;
int minutes=500,seconds=500,hours=500 ;
UsageStatsManager mUsageStatsManager = (UsageStatsManager)getSystemService("usagestats");
long time = System.currentTimeMillis();
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000*10, time);
if(stats != null)
{
SortedMap<Long,UsageStats> mySortedMap = new TreeMap<Long,UsageStats>();
for (UsageStats usageStats : stats)
{
TimeInforground=usageStats.getTotalTimeInForeground();
PackageName=usageStats.getPackageName();
minutes = (int) ((TimeInforground / (1000*60)) % 60);
seconds = (int) (TimeInforground / 1000) % 60 ;
hours = (int) ((TimeInforground / (1000*60*60)) % 24);
Log.i("BAC", "PackageName is"+PackageName +"Time is: "+hours+"h"+":"+minutes+"m"+seconds+"s");
}
Make sure you have all right permissions in manifest file and app have access with usage under security in settings.