我有一个Html页面,在这个Html页面我正在显示一个视频,但是这个视频没有显示在我的应用程序的webview中,而是显示在默认浏览器中,所以请告诉我是什么问题,下面是我的代码和视频, html文件存储在SD卡中,对不起我的英语沟通不好。
MainActivity.java
public class MainActivity extends Activity {
WebView webPage;
Button next;
String rootDir = "file://" + Environment.getExternalStorageDirectory()
+ "/iR-unzip/testbook/";
WebChromeClient webChromeClient = new WebChromeClient();
WebViewClient webViewClient = new WebViewClient();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webPage = (WebView) findViewById(R.id.webview);
webPage.setWebChromeClient(webChromeClient);
webPage.setWebViewClient(new MyWebViewClient());
webPage.getSettings().setJavaScriptEnabled(true);
webPage.getSettings().setPluginsEnabled(true);
webPage.getSettings().setPluginState(PluginState.ON);
webPage.getSettings().setLoadWithOverviewMode(true);
webPage.getSettings().setUseWideViewPort(true);
webPage.loadUrl(rootDir + "/" + "chapter_1.html");
next = (Button) findViewById(R.id.page_changer);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
webPage.loadUrl(rootDir + "/" + "chapter_2.html");
}
});
}
public class MyWebChromeClient extends WebChromeClient {
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// TODO Auto-generated method stub
super.onShowCustomView(view, callback);
if (view instanceof FrameLayout) {
FrameLayout frame = (FrameLayout) view;
if (frame.getFocusedChild() instanceof VideoView) {
VideoView video = (VideoView) frame.getFocusedChild();
frame.removeView(video);
video.start();
}
}
}
}
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
Html页面: -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Chapter 1 for testBook</title>
</head>
<body>
<div style="width: 600px;margin: 0 auto;">
<div id="text">
<p><h4>WSDL for client access</h4>
A WSDL service description provides all the information that is required to use a web
service. The T320 version of Eclipse incorporates the Web Tools Platform (WTP),
which provides support for generating a client based on the information inside a
WSDL.
<h4>OU demo services</h4></h4>
<p>At the OU there is a small set of toy web services. These can be accessed using a
client in the same way as you tested the 'Hello' web service using Eclipse. In fact, one
of the web services hosted is a copy of the 'Hello' service.</p>
<img src="Caterpillar-Insect-Animal-Macro-HD-600x375.jpg" />
<p>Click on the 'Browse' button at the top of the box. This will take you to the dialogue box shown in Figure 11.</p>
<img src="images.jpg" />
</div>
<div>
<h3>HTML5 Video : </h3>
<video width="320" height="240" controls="controls">
<source src="video.mp4" type="video/mp4">Your browser does not support the video tag.
</video>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
替换此行
wb.getSettings().setPluginState(PluginState.ON);
这一个
wb.getSettings().setPluginState(WebSettings.PluginState.ON);