当用户在我应用的网络视图中全屏显示html视频(使用onShowCustomView
)时,我正在显示一个小挂锁按钮,目的是让用户锁定屏幕以免触摸事件中断视频(视频锁定后仍然应该可见/可听)。
我可以通过覆盖一个不可见的视图来捕获触摸事件并阻止其传播,从而成功阻止主要内容区域/视频本身的触摸,但这不会阻止顶部和底部的系统栏(即背面,家和概述按钮),尽管您必须滑动才能访问它们。
我已经尝试过activity.startLockTask();
来锁定系统栏,并且除了后退按钮可以正常工作之外,该方法仍然可以使视频最小化。我使用以下代码尝试捕获后退按钮事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (videoControls.isScreenLocked() && keyCode == KeyEvent.KEYCODE_BACK)
{
return true;
}
return super.onKeyDown(keyCode, event);
}
虽然它在调用onHideCustomView()
之前成功捕获了事件,但返回true并没有帮助,它仍然使正在播放的视频最小化,并且在onHideCustomView()
中我无能为力要么。
那么,有人知道播放视频时锁定屏幕的好方法吗?还是有一种更好的方法可以阻止系统栏被单击,或者防止它们在滑动时弹出