Dmi*_*riy 2 android android-webview
如果 webview html 内容几乎没有<img>标签,当用户在 webview 中点击图像时,是否可以在新活动中以全屏模式打开该图像?
是的。基本上可以从WebView. 您可以定义要公开的方法,以便从类中进行调用WebView,然后将此类的实例传递给 ,WebView从那时起,这些方法就可以像 javascript 方法一样被调用。这是示例(这是从我的另一个答案复制粘贴的;您需要将视频意图替换为图像显示意图):
从 Web 视图中调用本机代码:
创建 Web 视图时添加 javascript 接口(基本上是 java 类,其方法将公开以通过 Web 视图中的 javascript 调用)。
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果您想从页面的 html 中调用此代码,您可以提供以下方法:
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
Run Code Online (Sandbox Code Playgroud)
因此,您需要添加适当的方法JSInterface并从 Web 应用程序中调用代码。
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |