gpt4 book ai didi

java - 如何计算Android设备的屏幕开启时间

转载 作者:行者123 更新时间:2023-12-02 05:08:06 25 4
gpt4 key购买 nike

我正在构建一个可以计算一天中屏幕时间的应用程序。
这是我的实现,我无法弄清楚 do-while 循环中的部分是什么

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

}while(isScreenOn);

最佳答案

您可以使用此答案的修改版本来保持时间:https://stackoverflow.com/a/8154095/4380308

修改版本:

<小时/>

您只需要 2 个字段:startTimeelapsedTime

当你想开始记录时间时,将elapsedTime初始化为0 startTimeSystem.currentTimeMillis()

当调用onPause()时,使用初始化elapsedTime

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

当调用onResume()时,将startTime初始化为System.currentTimeMillis()

当你完成时间记录后,时间就到了

elapsedTime = elapsedTime + (System.currentTimeMillis() - startTime);
<小时/>

除了onPause()onResume()之外,您可能希望在startTime时重新初始化>isScreenOn 为 false,循环将被中断,直到 isScreenOn 再次为 true,或者您决定使用任何实现来确定何时记录时间和不记录时间。

关于java - 如何计算Android设备的屏幕开启时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com