android - 如何在android studio中获取设备的屏幕唤醒时间?
问题描述
我知道 UsageStats 但它只有应用程序的统计信息。如何获取每天、每周、每月、每年在设备上花费的总时间?
解决方案
我们找不到屏幕唤醒时间,但是我们可以运行一个无限循环的前台服务,当屏幕打开时,计数器的值每秒递增一次。
将以下代码放入服务中。
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
Handler handler= new Handler();
Runnable myRunnable = new Runnable() {
public void run() {
if( powerManager.isScreenOn()){
counter++;
}
}
};
handler.postDelayed(myRunnable,1000);
计数器以秒为单位显示时间。
推荐阅读
- tomcat - 在 EC2 实例上成功安装 tomcat 后,没有为 tomcat 加载 GUI
- regex - 如何使用持续时间条件进行导入范围查询(1分钟以下的所有行)
- swift - 字典搜索键并获取值
- prometheus-node-exporter - container_fs_usage_bytes 和 container_fs_writes_total 是否相关指标?
- python-3.x - 在同一个异步函数中运行“get_object”两次时,botocore 挂起并且速度非常慢
- go - 如何使用 golang 在非根路径上提供 index.html
- css - 如何使用在两个方向上渐变的渐变图像作为边框图像?
- sql - 如何在postgresql中获取列值的计数
- python-3.x - 为什么在 python 中使用重叠分布图
- javascript - 从 pdf 文件中读取注释