我遇到一个奇怪的问题。
我有一个具有网络视图的应用程序,可以显示一些文章。这些文章包含文本,图像和视频,并且此Webview支持全屏播放视频。
这是onShowCustomView和onHideCustomView的代码。在Android 8.1之前,它都可以很好地工作。
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
if (mVideoView != null) {
callback.onCustomViewHidden();
return;
}
mVideoView = view;
mCustomViewCallback = callback;
view.setBackgroundColor(Color.BLACK);
getRootView().addView(view, FULLSCREEN_LAYOUT_PARAMS);
mWebView.setVisibility(View.GONE);
// enable orientation change
setOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
@Override
public void onHideCustomView() {
if (mVideoView == null) {
return;
}
mVideoView.setVisibility(View.GONE);
getRootView().removeView(mVideoView);
mVideoView = null;
mCustomViewCallback.onCustomViewHidden();
mWebView.setVisibility(View.VISIBLE);
// force portrait
setOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
在AndroidManifest中,活动如下:
<activity
android:name=".component.ArticleActivity"
android:configChanges="orientation|screenSize"
android:hardwareAccelerated="true"
android:screenOrientation="portrait" />
在Android 8.1中,当全屏播放视频时,将方向更改为横向或纵向时,将调用onHideCustomView并退出全屏模式。
我该如何解决?谢谢