1

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

4

1 回答 1

3

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

首先,页面必须告诉应用这是一个应用必须处理的链接

使用您的链接:

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

在 webview-activity 中,您必须覆盖 Webviewclient,拦截链接将调用的 url,检查该链接是否适用于您的应用程序,并最终执行所需的操作、解析参数等:

_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);
}   
});

希望这可以帮助

于 2013-10-04T22:03:00.977 回答