首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓Webview net::ERR_UNKNOWN_URL_SCHEME

安卓Webview net::ERR_UNKNOWN_URL_SCHEME
EN

Stack Overflow用户
提问于 2022-02-09 23:52:16
回答 1查看 552关注 0票数 0

能帮我一把吗?我有一个WebView显示页面,当我点击按钮时(加入我们的电传频道或通过Whatsapp和其他社交网络分享文章),就会出现这样的错误: net::ERR_UNKNOWN_URL_SCHEME。

我曾尝试过几个建议,但没有结果,我恳请你给我一些建议。

这是我的密码

代码语言:javascript
复制
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {
    WebView webView;
    SwipeRefreshLayout mySwipeRefreshLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = findViewById(R.id.webView);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("https://myurl");
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        //Swipe to refresh functionality
        mySwipeRefreshLayout = (SwipeRefreshLayout)this.findViewById(R.id.swipeContainer);


        mySwipeRefreshLayout.setOnRefreshListener(
                new SwipeRefreshLayout.OnRefreshListener() {
                    @Override
                    public void onRefresh() {
                        webView.reload();
                    }
                }
        );
    }

    public class Mainactiv extends WebViewClient{


        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return super.shouldOverrideUrlLoading(view, request);
        }

    }

    @Override
    public void onBackPressed() {
        if(webView.isFocused() && webView.canGoBack())
        {
            webView.goBack();
        }else{
            super.onBackPressed();
        }

    }
}```
EN

回答 1

Stack Overflow用户

发布于 2022-02-10 02:10:21

将shouldOverrideUrlLoading替换为:

代码语言:javascript
复制
public boolean shouldOverrideUrlLoading(WebView wv, String url) {
    if(url.startsWith("tel:") || url.startsWith("whatsapp:")) {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(url));
        startActivity(intent);
        return true;
    }
    return false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71058242

复制
相关文章

相似问题

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