首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >强制Android Webview使用Chrome或Firefox

强制Android Webview使用Chrome或Firefox
EN

Stack Overflow用户
提问于 2021-03-02 06:15:41
回答 2查看 1.7K关注 0票数 0

我发现Android使用的是默认的浏览器,有时可能不是我所需要的。例如,我的应用程序的一个用户已经将管理管作为默认浏览器,并且无法下载文件。

Wy webview只显示一个Google文件,但是下载链接不适用于管理管.甚至可能是其他浏览器。

代码语言:javascript
运行
复制
    setContentView(R.layout.activity_web_view);
    webView =  findViewById(R.id.webViewResults);

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSupportMultipleWindows(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

        webView.loadUrl(drive_url + DriveCode + "/view");

我只想忽略/重写默认浏览器。

//==

经过思考,我会让网页提供一个链接,而不是直接打开它.那我就可以

代码语言:javascript
运行
复制
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//select my action here
return false;
}

意识到问题是自动运行window.open的--浏览器把它当作弹出窗口并阻止它。

EN

回答 2

Stack Overflow用户

发布于 2021-03-02 06:20:46

可以使用WebChromeClient,如下所示:

代码语言:javascript
运行
复制
webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onJsPrompt(WebView view, String url,
                              String message, String defaultValue, JsPromptResult result) {
        if (callback != null) {
            callback.onResult(message, new PromptResultImpl(result));
        }
        return true;
    }

    @Override
    public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
        Log.d(JsBridge.TAG, consoleMessage.message());
        return true;
    }
});
票数 0
EN

Stack Overflow用户

发布于 2021-03-02 06:35:38

您可以使用自定义的web视图客户端来覆盖打开的默认浏览器。在调用loadUrl()方法之前,尝试在下面设置为Web。

代码语言:javascript
运行
复制
webView.setWebViewClient(new MyWebViewClient());

private class MyWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66434221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档