WebView在activity.java中触发一个函数

时间:2013-10-04 21:49:33

标签: java android android-intent webview uri

所以我有一个Web应用程序,我通过我的Android应用程序内的WebView加载。当用户点击外部网站上的按钮时,如何调用我的Android应用程序中的函数? 除了运行该函数,我还希望能够将变量传递给它。 也许链接像myapp:// activity /?d =变量%20to%20pass? 我应该如何在网站和Android应用程序上实现它?

1 个答案:

答案 0 :(得分:3)

好吧,不确定你的网页是否也包含“普通”的网页链接......(我假设它可以在下面的例子中)。

首先,页面必须告诉应用程序它是应用程序必须处理的链接

使用您的链接:

"myapp://activity/?d=variables"

在webview-activity中,您必须覆盖Webview客户端,拦截链接将调用的url,检查该链接是否适用于您的应用,并最终执行所需的操作,解析参数等。 / p>

_webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
            //find out if the link we're looking for is really for this app
    if (url.contains("myapp://activity")){
        String action= = url.substring("myapp://activity/?".length());
        //parse the action from the link...
        //do something with this action..., parse additional params etc.

        return true;
    }

    //handle the "normal" links...
    return super.shouldOverrideUrlLoading(view, url);
}   
});

希望这会有所帮助