如何在 android studio 中获取设备的屏幕唤醒时间?

How to get the screen awake time of a device in 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);

计数器以秒为单位显示时间。