草庐IT

UsageStatsManager

全部标签

Android UsageStatsManager 产生错误的输出?

我正在使用这个link生成应用程序使用状态。我对所选间隔的理解是,对于YEARLY间隔,它会为beginTime和endTimeYEAR的数据持续时间。同样,它应该适用于WEEKLY和DAILY间隔。使用WEEKLY,我的代码和输出如下;代码:CalendarbeginCal=Calendar.getInstance();beginCal.set(Calendar.DATE,1);beginCal.set(Calendar.MONTH,0);beginCal.set(Calendar.YEAR,2012);CalendarendCall=Calendar.getInstance();e

android - queryUsageStats 间隔持续时间

我正在使用UsageStatsManagerAPI获取特定时间间隔的使用情况统计信息。如果我使用预定义的时间间隔,即INTERVAL_DAILY、INTERVAL_WEEKLY、INTERVAL_MONTHLY、INTERVAL_YEARLY,一切正常。但是如果我想查看过去2或3小时的数据,我会得到今天一整天的数据。我试过使用日历和System.currentTimeMillis()但没有给我过滤结果。日历方法:CalendarstartCalendar=Calendar.getInstance();startCalendar.add(Calendar.HOUR_OF_DAY,-2);

android - 如何使用 Android API 21 Lollipop 获取最近的应用程序列表?

我正在创建一个家庭启动器,我想与Android5.0Lollipop兼容。我想获取启动器上最近使用的应用程序列表。但是由于ActivityManager.getRecentTasks()在API21中不再有效,我该怎么做呢? 最佳答案 StringtopPackageName;if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){UsageStatsManagermUsageStatsManager=(UsageStatsManager)getSystemService("u

android - UsageStatsManager 仅从最后一天/一周/一个月/一年返回数据?

我正在尝试从UsageStatsManager查询UsageStats。我构建了一个DateUtils类,它为我提供了获取每天/每月/每年(一周即将到来)的开始和结束时间的方法,如下所示:publicstaticCalendargetCal(intyear,intmonth,intday){Calendarcal=Calendar.getInstance();cal.set(year,month,day,0,0,0);cal.set(Calendar.MILLISECOND,0);returncal;}publicstaticlonggetDayStart(intyear,intmon

android - 如何以编程方式获取使用访问权限

我的应用需要具有使用访问权限才能获取有关用户手机上当前正在运行的应用的信息。在以下链接的帮助下,我能够使用以下代码成功实现它。UsageAccessapps这是我的工作代码publicvoidshowDialog(){if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP){@SuppressWarnings("WrongConstant")UsageStatsManagerusm=(UsageStatsManager)getSystemService("usagestats");long

android - 在棉花糖中获取前台应用程序包名称延迟 3 秒

在Android6.0Marshmallow中,我使用以下代码查询前台应用程序,但传入通知出现问题,因为它向发送通知的应用程序显示前台应用程序。该问题仅存在于Marshmallow中(5.X可以正常工作)。//API21andabove@TargetApi(Build.VERSION_CODES.LOLLIPOP)publicstaticStringgetProcessNew(UsageStatsManagermUsageStatsManager,Contextc)throwsException{Stringst=null;try{longendTime=System.currentT

android - 检查我的应用程序是否启用了使用访问权限

我正在使用新的UsageStatsManagerAPI到getcurrentforegroundapplication在Android5.0Lollipop中。要使用此API,用户必须在Settings->Security->Appswithusageaccess屏幕中启用该应用程序。我用这个Intent将用户直接发送到这个屏幕:startActivity(newIntent(Settings.ACTION_USAGE_ACCESS_SETTINGS));现在,我想验证用户是否启用了我的应用程序。我想这样做,就像我验证用户启用我的应用程序以使用NotificationListenerS

android - 检查我的应用程序是否启用了使用访问权限

我正在使用新的UsageStatsManagerAPI到getcurrentforegroundapplication在Android5.0Lollipop中。要使用此API,用户必须在Settings->Security->Appswithusageaccess屏幕中启用该应用程序。我用这个Intent将用户直接发送到这个屏幕:startActivity(newIntent(Settings.ACTION_USAGE_ACCESS_SETTINGS));现在,我想验证用户是否启用了我的应用程序。我想这样做,就像我验证用户启用我的应用程序以使用NotificationListenerS

Android 在 API 级别 21 中获取 UsageStatsManager

我需要获取有关最近应用使用情况的信息。在API21之前,它被使用getRunningTasks或getRecentTasks获取此信息。根据文档,这些方法已在API21中弃用。有UsageStatsManager现在上课,在API级别21中引入。但是!Context.getSystemService(UsageStatsService)wasaddedonlyinAPIlevel22!问题是-如何在API21中获取所需数据??根据dashboards,这个API级别有13%的用户,我不想失去他们。 最佳答案 Context#getS

android - 使用 UsageStatsManager 获取前台应用

我正在尝试使用UsageStatsManager在带有Marshmallow的Nexus5上获取前台应用程序。我记得它曾经有效,但出于某种原因,我现在得到包/类名称的空字符串。这是我的实现publicString[]getForegroundPackageNameClassNameByUsageStats(){StringpackageNameByUsageStats=null;StringclassByUsageStats=null;if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){UsageStatsManagermUs
12