AndroidWebView中汉堡菜单不能使用的问题
创始人
2024-10-12 04:31:37
0
  1. 首先要在WebView的setWebChromeClient()方法中添加如下代码,以支持汉堡菜单的展示及点击事件:

webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, FileChooserParams fileChooserParams) { if (mUploadMessage != null) { mUploadMessage.onReceiveValue(null); mUploadMessage = null; }

    mUploadMessage = filePathCallback;

    Intent intent = fileChooserParams.createIntent();
    try {
        startActivityForResult(intent, REQUEST_SELECT_FILE);
    } catch (ActivityNotFoundException e) {
        mUploadMessage = null;
        Toast.makeText(mActivity, R.string.toast_upload_file_failed, Toast.LENGTH_SHORT).show();
        return false;
    }
    return true;
}

@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
    WebView.HitTestResult result = view.getHitTestResult();
    String data = result.getExtra();
    Context context = view.getContext();
    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data));
    context.startActivity(browserIntent);
    return false;
}

});

  1. 然后在WebView的setWebViewClient()方法中添加如下代码,以支持汉堡菜单在WebView中的正常显示和点击事件:

webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); mProgressBar.setVisibility(View.VISIBLE); }

@Override
public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    mProgressBar.setVisibility(View.GONE);
}

@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    if (request.getUrl().toString().startsWith("tel:")) { //点击电话号码
        if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.CALL_PHONE}, REQUEST_CALL_PHONE_PERMISSION);

相关内容

热门资讯

此事引发广泛关注!微信小程序怎... 此事引发广泛关注!微信小程序怎么挂脚本,九哥玩挂,教材教程(有挂解惑)-哔哩哔哩1、上手简单,内置详...
透视规律!德普之星辅助软件,德... 透视规律!德普之星辅助软件,德扑圈透视挂(透视)其实存在有挂(有挂实锤)-哔哩哔哩1、完成德普之星辅...
辅助透视!德普之星辅助工具如何... 辅助透视!德普之星辅助工具如何打开,德普之星透视(透视)一直有挂(有挂功能)-哔哩哔哩1、德普之星辅...
据了解!小闲川南手游辅助器,破... 据了解!小闲川南手游辅助器,破解版财神脚本,模板教程(果真有挂)-哔哩哔哩1、进入到小闲川南手游辅助...
透视脚本!德普之星辅助器app... 透视脚本!德普之星辅助器app,德普之星辅助器app(透视)本来是真的挂(有挂秘诀)-哔哩哔哩1、透...
今日!广东闲来掌上程序辅助软件... 今日!广东闲来掌上程序辅助软件,广东雀神智能辅助照片,要领教程(有挂方略)-哔哩哔哩1、完成广东闲来...
透视计算!德普辅助软件,德普辅... 透视计算!德普辅助软件,德普辅助软件(透视)本来是真的挂(讲解有挂)-哔哩哔哩1、在德普辅助软件插件...
出乎意料的是!边锋老友杰克辅助... 出乎意料的是!边锋老友杰克辅助,财神13辅助功能详解,阶段教程(竟然有挂)-哔哩哔哩1、很好的工具软...
透视新版!德普辅助器怎么用,德... 透视新版!德普辅助器怎么用,德普之星辅助工具如何设置(透视)都是真的是有挂(有挂头条)-哔哩哔哩1、...
据了解!老友赣州麻将破解版,h... 据了解!老友赣州麻将破解版,hhpoker可以控制吗,积累教程(竟然有挂)-哔哩哔哩亲,关键说明,老...