如何在 Webview 中使用 JavaScript 代码显示活动? [英] How to show an activity with JavaScript code in Webview?

查看:27
本文介绍了如何在 Webview 中使用 JavaScript 代码显示活动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序有一个包含 Webview 的第一个活动,并在应用程序开始时从服务器加载一个简单的页面.

My application has a first activity that contains Webview and loads a simple page from the server in the beginning of the application.

页面代码为:

<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <button id="btn_foo"></button>
</body>
</html>

我有一个带有视频播放器的第二个活动.

I have a second activity that has a video player.

如何通过 JavaScript 在我的网页中显示/隐藏第二个活动?例如,当我点击 btn_foo 时(就像 Firefox 中的 VLC 插件,可以通过 JavaScript 向它发送命令).

How can I show/hide the second activity via JavaScript in my webpage? For example, when I click on btn_foo (like VLC plugin in Firefox that can send commands to it via JavaScript).

推荐答案

以下是您在 onCreate 中执行的操作:

Here's what you do in your onCreate:

class MyJavaScriptInterface {
    @JavascriptInterface
    public void doStuff(String param) {

        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // start Video Activity here
            }
        });
    }
}

final WebView webView = (WebView) findViewById(R.id.browser);
webView.setWebChromeClient(new WebChromeClient());

/* enable JavaScript */
webView.getSettings().setJavaScriptEnabled(true);

/* Register a new JavaScript interface called Android */
webView.addJavascriptInterface(new MyJavaScriptInterface(), "Android");

/* load a web page */
webView.loadUrl(url);

在您加载的网站中,点击按钮后,运行

In your loaded website, when the button is clicked, run

Android.doStuff("video1"); // calling the @JavascriptInterface method

这篇关于如何在 Webview 中使用 JavaScript 代码显示活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆