如何在Android上获取活动在前台活动的时间

Ane*_*eez 5 android foreground usage-statistics android-activity

如何在Android中获取活动在前台的时间量.对于Ex.如果今天使用watsapp 1小时,那么如何以编程方式将watsapp激活一小时.

Pri*_*tel 5

应用程序使用统计数据API允许应用程序开发者相关的应用程序的使用情况收集统计信息。此 API 提供比已弃用的 getRecentTasks() 方法更详细的使用信息。

要使用此 API,您必须首先android.permission.PACKAGE_USAGE_STATS在清单中声明权限。用户还必须通过 启用对此应用程序的访问Settings > Security > Apps with usage access

要收集应用使用情况的统计信息,首先需要通过以下代码获取UsageStatsManager的实例:

mUsageStatsManager = (UsageStatsManager) getActivity()
       .getSystemService(Context.USAGE_STATS_SERVICE);
Run Code Online (Sandbox Code Playgroud)

然后您可以通过以下方法检索应用程序使用情况的统计信息:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -1);
List<UsageStats> queryUsageStats = mUsageStatsManager
        .queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(),
                System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)

的第一个参数queryUsageStats()用于汇总统计信息的时间间隔。第二个和第三个参数用于指定要包含在结果中的统计数据范围的开始和结束。

这是GitHub 上基本应用代码,展示了如何使用应用使用统计 API 来让用户收集与应用使用相关的统计信息。

注意: android.app.usage需要API 级别 21或以上。