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