最近使用webView开发网页游戏时发现一个现象, 网页会主动调用全屏,他通过视屏全屏的方式来实现,就是调用onShowCustomView()方法.
我在给webView设置setWebChromeClient()时,重写了onShowCustomView()方法,所以导致白屏,用户手动返回即可消失,但白屏问题必须解决,下面有两个方法测试可解决.
解决方法一:
把onShowCustomView()删除,不重写该方法即可,不会出现白屏.
方法二:
在super之前发送主线程,调用onCustomViewHidden(),关闭弹出的白屏,切记必须用handler发送主线程,在子线程或调用RunOnUiIThread()方法无效.
@Override
public void onShowCustomView(View view, final CustomViewCallback callback) {
new Handler().post(new Runnable() {
@Override
public void run() {
callback.onCustomViewHidden();
}
});
super.onShowCustomView(view, callback);
}