氛围模式是 Google TV 和 Android TV 内置的屏保。其目的是避免长时间显示静态图片。对于可能容易出现屏幕烧屏的显示技术(例如 OLED),这一点至关重要。
在用户闲置 10 分钟后,操作系统会将设备切换到氛围模式。在用户进一步闲置一段时间(由设备能耗节省器设置定义)后,操作系统将进入能耗节省器模式,关闭显示屏。媒体播放应用可能会阻止设备进入氛围模式,即使用户未与其互动(例如在观看电影时)。
如果用户在进入氛围模式后的 30 分钟内与设备互动,系统会恢复进入氛围模式时处于活动状态的应用。如果用户在进入氛围模式后超过 30 分钟与设备互动,系统会将其返回到主屏幕。当用户在设备处于能耗节省模式时使用电源按钮启动设备时,系统会将其转到主屏幕。或者,如果用户在设备处于省电模式时使用特定应用按钮(例如 YouTube)启动设备,则会直接进入该应用。
视频播放
对于视频播放,请务必阻止设备在用户发起播放期间进入氛围模式,以提供不间断的观看体验。不过,应用不得阻止设备在停止或暂停播放时进入氛围模式。
音频播放
对于音频播放,应用不应在播放期间阻止氛围模式,除非它们使用非静态图像实现了自己的屏保。在氛围模式处于活动状态时,音频会继续播放。
Android 上的音频播放将隐式保持部分唤醒锁定。这不会阻止设备进入氛围模式,但会阻止设备随后转换到省电模式。因此,即使设备进入氛围模式,播放也会继续,但系统会阻止设备进入休眠状态,以便不间断地播放。
防止进入氛围模式
您可以阻止操作系统将设备置于氛围模式,但必须根据氛围模式要求使用此功能。应用开发者无法阻止设备进入节能模式。
应用可以通过在 Window
上设置标志来防止屏幕关闭:
Kotlin
requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Java
requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
设置此标志后,氛围模式将被停用。如需重新启用该功能,您必须清除该标志:
Kotlin
requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Java
requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);