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