Android打开WebView后常见需求实现

转载请注明原创出处,谢谢!
  • GitHub: @Ricco

用户创建订单后,发起微信或支付宝支付
WebView调起微信和支付宝app进行支付
1、给WebView设置WebViewClient
2、WebViewClient重写shouldOverrideUrlLoading();方法
3、shouldOverrideUrlLoading方法拦截alipays和weixin开头的url,放开微信和支付宝app支付

if (url.startsWith("alipays") || url.startsWith("weixin")) {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
    return true;
}

  • 用户需要上传身份证正反面等图片信息
    WebView实现选择图片(WebView需要支持type="file" 打开相机和相册)
    实现过程:
    1、给WebView设置WebChromeClient
    2、WebChromeClient重写openFileChooser();系列方法

  • 用户下单过程可能会拨打电话进行业务问题的咨询
    WebView调起系统拨号功能
    1、给WebView设置WebViewClient
    2、WebViewClient重写shouldOverrideUrlLoading();方法
    3、shouldOverrideUrlLoading方法拦截tel:开头的url
if (url.contains("tel:")) {
    String mobile = url.substring(4);
    // 打电话功能,此方法不需要配置android.permission.CALL_PHONE权限
    new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + Uri.encode(mobile)));
    return true;
}

你可能感兴趣的:(Android打开WebView后常见需求实现)