介绍
Android为了达到节约电源的目的,在屏幕没有操作时便会自动息屏,那么比如我们在播放视频时,尽管对屏幕没有操作,但是我们此时是不希望它息屏的,如果视频处于暂停状态,此时是希望它自动息屏的。
下面来看一下如何在Chromium全屏播放视频时是如何控制屏幕的。
实现
因为全屏播放是和ContentVideoView.java相关的,那么就在这个类中来实现。
首先在content_switches.h中声明一个PowerSaveBlocker 开关:
CONTENT_EXPORT extern const char kEnableContentVideoViewPowerSaveBlocker[];
在content_switches.cc中初始化:
// Enable the PowerSaveBlocker in ContentVideoView. Android only.
const char kEnableContentVideoViewPowerSaveBlocker[] = "enable-content-video-view-power-save-blocker";
然后在aw_main_delegate.cc中把开关打开:
在AwMainDelegate::BasicStartupComplete中加上
cl->AppendSwitch(switches::kEnableContentVideoViewPowerSaveBlocker)
接下来就要在ContentVideoView.java中来实现了:
首先ContentVideoView要实现一下ViewAndroidDelegate接口:
实现它的三个方法: