我创建了一个安卓应用。屏幕永不关闭:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
现在我想在 5 分钟或其他时间没有按下屏幕时显示图片。应用程序不应关闭,当按下图像时应用程序应打开。
我怎样才能意识到这一点?
最佳答案
我不鼓励您采用这种方法。用户希望在其设备上的各种应用程序之间获得一致的用户体验,并且可能通过指定 sleep 超时或 displaying a daydream as introduced in Android 4.2 来偏好设备的 sleep 方式。 .
如果您希望为用户提供显示与您的应用关联的屏幕保护程序的选项,我建议在您的应用中包含 Daydream 并以其他方式确认用户的偏好。
话虽这么说,如果您无法使用 Daydream,您可以观察该应用程序是否正在使用。我想到两件事:
- 让您的 Activity 的 Root View 拦截触摸事件,以观察是否有任何 subview 被触摸。
- 观察 Activity 的
onPause()
和onResume()
以确认 Activity 仍在显示。
然后您可以通过使用 postDelayed(Runnable action, long delayMillis)
将其发布到 View 来调用 Runnable ,当 Activity 暂停或应使用 removeCallbacks(Runnable)
重置计时器时要小心删除它.
关于java - 应用程序中的 Android 屏幕保护程序(如果未使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21513594/