Мы не можем найти время пробуждения экрана, но мы можем запустить службу переднего плана с бесконечным циклом, который увеличивает значение счетчика каждую секунду, когда экран включен.
Поместите приведенный ниже код вservice.
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);
счетчик показывает время в секундах.