我想知道在Android设备上运行的所有应用程序花费的时间.我使用以下代码获取所有软件包名称.请指导我如何链接软件包和上述方法以获取应用程序所花费的时间
这是代码
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); for (PackageInfo pack : packs) { if (pack.firstInstallTime != pack.lastUpdateTime) { Log.i("n-names", pack.applicationInfo.loadLabel(getPackageManager()) .toString()); Log.i("n-install time", pack.firstInstallTime + ""); Log.i("n-uptime", pack.lastUpdateTime + ""); UsageStats usage = null; usage.getTotalTimeInForeground(); } }
请告诉我如何使用上述方法进行个人包装
解决方法:
如果你想获得androID lollipop中所有应用程序的前台运行时间,请使用以下代码.
//具有虚拟值和对象的变量.
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"); }
确保您在清单文件中拥有所有权限,并且应用程序可以访问设置中的安全性下的使用情况.
总结以上是内存溢出为你收集整理的android – 使用usageStats.getTotalTimeInForeground()来获取设备中每个应用程序在前台使用的时间全部内容,希望文章能够帮你解决android – 使用usageStats.getTotalTimeInForeground()来获取设备中每个应用程序在前台使用的时间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)