Java 如何计算安卓设备的屏幕开机时间

Java 如何计算安卓设备的屏幕开机时间,java,android,do-while,Java,Android,Do While,我正在构建一个应用程序,可以计算一天中的屏幕时间。 这是我的实现,我不知道Dowhile循环中的部分是什么 PowerManager powerManager=(PowerManager) getSystemService(POWER_SERVICE); boolean isScreenOn= powerManager.isScreenOn(); do{ }while(isScreenOn); 您可以使用此答案的修改版本来保持时间: 修改版本: 您只需要两个字段:startTime和ela

我正在构建一个应用程序,可以计算一天中的屏幕时间。
这是我的实现,我不知道Dowhile循环中的部分是什么

PowerManager powerManager=(PowerManager) getSystemService(POWER_SERVICE);
boolean isScreenOn= powerManager.isScreenOn();
do{

}while(isScreenOn);

您可以使用此答案的修改版本来保持时间:

修改版本:


您只需要两个字段:
startTime
elapsedTime

当您想开始记录时间时,请将
延时初始化为
<0
开始时间
初始化为
系统。currentTimeMillis()

调用
onPause()
时,使用

elapsedTime = elapsedTime + (System.currentTimeMillis() - startTime);
调用
onResume()
时,将
startTime
初始化为
系统.currentTimeMillis()

当你记录完时间后,时间是

elapsedTime = elapsedTime + (System.currentTimeMillis() - startTime);


除了
onPause()
onResume()
之外,当
isScreenOn
为false且循环中断,直到
isScreenOn
再次为true时,您可能希望重新初始化
开始时间,或者无论您决定使用什么实现来确定何时记录时间和不记录时间。

BTW…您拼写android错误-您拼写的是andriod。你能澄清一下你的问题吗?你是在问如何计算屏幕显示了多长时间?是的,屏幕显示了一天@Nathan Tuggy