我面临一个奇怪的问题。
每当我使用的网页浏览器未显示在屏幕上时,在下次屏幕上显示时会出现加载新网址的问题。
我测试了什么 -
如果没有可见性更改,当我调用loadUrl方法时,webview可以一个接一个地加载多个网址。
如果它在任何时候都被隐藏了,要么是因为我将其可见性设置为GONE,要么是另一个视图出现在它之上,那么它在恢复可见之后就不会加载。
一个有趣的事情是,URL正在加载(它有一个嵌入代码播放视频),因为我可以听到新视频的声音,但视觉效果卡住了,显示了最后一个加载的URL的视觉效果。
我错过了一些明显的东西吗?
答案 0 :(得分:0)
还是不知道为什么会这样。每次我需要时都会膨胀一个新的Webview实例(并销毁旧的实例)。这不是一个非常频繁的操作(需要在5秒钟一次到2小时一次这样的大范围频率范围内进行操作),因此可以忽略性能问题。
不是解决方案,但对我有用。
答案 1 :(得分:0)
我不确定您想如何发挥可见性,但我认为在实现以下代码后您将能够解决您的问题:
webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.loadUrl("https://www.w3schools.com/tags/movie.mp4");//video url
//checking the webview functionality after hiding and showing webview
webView.setVisibility(View.GONE);
webView.setVisibility(View.VISIBLE);
注意:不要忘记在应用程序的manifest.xaml中添加Internet权限
<uses-permission android:name="android.permission.INTERNET"/>