UsageStatsManager是用来统计app使用情况的类,用于获取包含特定时间范围的应用包的使用情况统计信息;在Android api21(即Android5.0引入);系统API稳定性好,Android5.0 来获取当前运行的app 我们将UsageStatsManager获取当前运行的app相关代码写在一个Service中,通过log打印结果,这样可以切换运行的app,并实时看到结果,主要的代码如下: private getTopApp(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager m = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE); if (m //获取10分钟之内的应用数据 List<UsageStats> stats = m.queryUsageStats(UsageStatsManager.INTERVAL_BEST
(UsageStatsManager.INTERVAL_BEST,ts-2000, ts); if (queryUsageStats == null || queryUsageStats.isEmpty 接着通过context GET到UsageStatsManager。 UsageStatsManager mUsageStatsManager = (UsageStatsManager) getActivity() .getSystemService DAILY("Daily", UsageStatsManager.INTERVAL_DAILY), WEEKLY("Weekly", UsageStatsManager.INTERVAL_WEEKLY ), MONTHLY("Monthly", UsageStatsManager.INTERVAL_MONTHLY), YEARLY("Yearly", UsageStatsManager.INTERVAL_YEARLY
isDeviceIdle = powerManager.isDeviceIdle(); boolean isPowerSaveMode = powerManager.isPowerSaveMode(); 通过UsageStatsManager 类获取电量信息: 可以使用Context.getSystemService()方法获取UsageStatsManager实例,并使用该实例的queryStats()方法获取电量信息。 具体代码如下: UsageStatsManager usageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE ); long time = System.currentTimeMillis(); UsageStats stats = usageStatsManager.queryStats(UsageStatsManager.INTERVAL_DAILY
您可以调用 UsageStatsManager.getAppStandbyBucket(),查看应用当下所处群组。 应用待机模式下共有以下五类群组: 1. 应用可通过调用 UsageStatsManager.getAppStandbyBucket() ,查看在运行时所处的群组: 后台限制 手动执行后台限制,请输入以下命令: 取消后台限制,请输入以下命令
mActivityManagerService.setSystemProcess(); } private void startCoreServices() { // 启动UsageStatsManager
” 这就涉及到了UsageStatsManager,UsageStatsManager是Android提供统计应用使用情况的服务。
④ 系统级权限检查:部分 API(比如获取 App 使用时长 UsageStatsManager)在非 Launcher 进程里调用需要额外权限。
目前应用可以通过 UsageStatsManager.getAppStandbyBucket() 函数来获取当前所属的应用群组,借助这个结果来更好的提升自己的打开频率,同时可以借助此来模拟处于不同群组能否正常工作
目前应用可以通过 UsageStatsManager.getAppStandbyBucket() 函数来获取当前所属的应用群组,借助这个结果来更好的提升自己的打开频率,同时可以借助此来模拟处于不同群组能否正常工作
目前应用可以通过 UsageStatsManager.getAppStandbyBucket() 函数来获取当前所属的应用群组,借助这个结果来更好的提升自己的打开频率,同时可以借助此来模拟处于不同群组能否正常工作
我们可以利用 UsageStatsManager.getAppStandbyBucket() 查看我们处于哪一个分组,此 api 是 21 添加。
您可以调用 UsageStatsManager.getAppStandbyBucket(),查看应用当下所处群组。