开放的形象,如果
答
是的。基本上可以从WebView
中调用任何类型的原生Android代码。您可以定义要公开从在一类WebView
内调用方法,通过这个类的一个实例的WebView
并从此方法是可调用就像JavaScript方法。来这里的例子(这是复制粘贴的形式,我的另一个答案,你将需要更换与图像显示意图视频目的):
从网络视图中调用本机代码:
在创建网站查看添加javascript接口(基本上是java类,其方法将暴露在web视图中通过javascript调用)。
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
的JavaScript接口类本身的定义(这是实施例一类,我从我的另一个回答了,并在本地意图打开视频)
public class JavaScriptInterface {
private Activity activity;
public JavaScriptInterface(Activity activiy) {
this.activity = activiy;
}
public void startVideo(String videoAddress){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(videoAddress), "video/3gpp"); // The Mime type can actually be determined from the file
activity.startActivity(intent);
}
}
现在,如果哟想调用这个代码的形式
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
所以,你需要适当的方法添加到JSInterface
,从内部调用代码:你提供以下方法页面的HTML Web应用程序。