Android 使用usageStats.getTotalTimeInfo()获取设备中每个应用程序在前台花费的时间
我想知道在android设备上运行的所有应用程序所花费的时间。我使用以下代码获取所有包的名称。请指导我如何链接包和上面的方法以获取应用程序花费的时间 这是密码Android 使用usageStats.getTotalTimeInfo()获取设备中每个应用程序在前台花费的时间,android,package,usage-statistics,Android,Package,Usage Statistics,我想知道在android设备上运行的所有应用程序所花费的时间。我使用以下代码获取所有包的名称。请指导我如何链接包和上面的方法以获取应用程序花费的时间 这是密码 List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); for (PackageInfo pack : packs) { if (pack.firstInstallTime != pack.lastUpdateTime
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();
}
}
List packs=getPackageManager().getInstalledPackages(0);
用于(包装信息包装:包装){
if(pack.firstInstallTime!=pack.lastUpdateTime){
Log.i(“n个名称”,
pack.applicationInfo.loadLabel(getPackageManager())
.toString());
Log.i(“n-install time”,pack.firstInstallTime+”);
Log.i(“n-uptime”,pack.lastUpdateTime+”);
UsageStats用法=null;
用法。getTotalTimeInForeground();
}
}
请告诉我如何使用indivudual软件包的上述方法如果您想获得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");
}
UsageStats-UsageStats;
字符串PackageName=“无”;
长时间信息地面=500;
整数分=500,秒=500,小时=500;
UsageStatsManager mUsageStatsManager=(UsageStatsManager)获取系统服务(“usagestats”);
长时间=System.currentTimeMillis();
List stats=mUsageStatsManager.queryUsageStats(usagestasmanager.INTERVAL_DAILY,time-1000*10,time);
if(stats!=null)
{
SortedMap mySortedMap=newtreemap();
for(UsageStats UsageStats:stats)
{
TimeInformationGround=usageStats.getTotalTimeInformationGround();
PackageName=usageStats.getPackageName();
分钟=(int)((TimeInforground/(1000*60))%60);
秒=(整数)(时间信息地面/1000)%60;
小时=(整数)((时间信息场/(1000*60*60))%24);
Log.i(“BAC”,“PackageName是”+PackageName+”时间是:“+hours+”h“+”:“+minutes+”m“+seconds+”s”);
}
确保您在清单文件中拥有所有权限,并且应用程序在“设置”中的“安全”下具有访问权限。但是如何在下面的(棒棒糖)5.0设备中使用它。请告诉我。这是否能够告诉用户在该安卓设备上花费的整个屏幕时间?