如何直接从Android中的活动调用javascript函数?

Smi*_*tha 9 javascript android

我想知道是否有任何方法可以从本机Android Activity调用JavaScript函数.

我碰到:

webView.loadUrl("javascript:hello()");
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用.

此外,Android将如何知道此JavaScript函数驻留在哪个html页面中?

Tal*_*lha 13

如果当前在webView中加载了html页面,Android只能调用javascript方法

webView.loadUrl("javascript:hello()");
Run Code Online (Sandbox Code Playgroud)

仅当包含此方法的页面当前在webview控件中加载时,才会在html页面中调用hello方法

第一次打电话

webview.loadUrl("Your html page url");
Run Code Online (Sandbox Code Playgroud)

然后打电话

webView.loadUrl("javascript:hello()");
Run Code Online (Sandbox Code Playgroud)

  • 我已经启用了答案1和2中所说的一切.但没有任何作用. (2认同)

tim*_*etz 10

如果有人像我一样有任何问题,你需要在页面加载完成后调用你的javascript函数,否则不会调用javascript:

    webviewer.loadUrl("file:///android_asset/mypage.html");
    webviewer.setWebViewClient(new WebViewClient() {

        public void onPageFinished(WebView view, String url)
        {
            webviewer.loadUrl("javascript:hello()");
        }
    });
Run Code Online (Sandbox Code Playgroud)