【问题标题】:WebView trigger a function in activity.javaWebView在activity.java中触发一个函数
【发布时间】:2013-10-04 21:49:32
【问题描述】:

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

【问题讨论】:

    标签: java android android-intent webview uri


    【解决方案1】:

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

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

    使用您的链接:

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

    希望对你有帮助

    【讨论】:

    • 感谢马蒂亚斯,它就像一个魅力。我一直在寻找答案,但我读到的其他帖子让我更加困惑。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2022-08-04
    • 2012-06-28
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 2015-07-30
    相关资源
    最近更新 更多