android web打开微信支付功能,Android通过webview调起微信和支付宝app进行支付

//方法一:调用系统自带浏览器进行显示

mWv_test.getSettings().setJavaScriptEnabled(true);

mWv_test.loadUrl("http://shengtai.polms.cn/index.php/bzcsnew/index/index/t/7/p/6");

//方法二:Webview里面完成所有网页显示

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView=findViewById(R.id.webview);

webViewSetting();

mWebView.loadUrl("http://shengtai.polms.cn/index.php/Bzcs/Index/index/t/7/p/6");

}

private void webViewSetting() {

WebSettings webSettings = mWebView.getSettings();

webSettings.setJavaScriptEnabled(true); //可执行js

webSettings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); //设置页面默认缩放密度

webSettings.setDefaultTextEncodingName("UTF-8"); //设置默认的文本编码名称,以便在解码html页面时使用

webSettings.setAllowContentAccess(true); //启动或禁用WebView内的内容URL访问

webSettings.setAppCacheEnabled(false); //设置是否应该启用应用程序缓存api

webSettings.setBuiltInZoomControls(false); //设置WebView是否应该使用其内置的缩放机制

webSettings.setUseWideViewPort(true); //设置WebView是否应该支持viewport

webSettings.setLoadWithOverviewMode(true); //不管WebView是否在概述模式中载入页面,将内容放大适合屏幕宽度

webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); //重写缓存的使用方式

webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //告知js自动打开窗口

webSettings.setLoadsImagesAutomatically(true); //设置WebView是否应该载入图像资源

webSettings.setAllowFileAccess(true); //启用或禁用WebView内的文件访问

webSettings.setDomStorageEnabled(true); //设置是否启用了DOM存储API,默认为false

mWebView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

//H5调起微信app支付方法一(待验证)

// if (url.contains("wx.tenpay")) {

// Map extraHeaders = new HashMap();

// extraHeaders.put("Referer", "http://zxpay.fss518.cn");

// view.loadUrl(url, extraHeaders);

// return true;

// }

//H5调起微信app支付方法二(可使用)

if (url.startsWith("weixin://wap/pay?")) {

Intent intent = new Intent();

intent.setAction(Intent.ACTION_VIEW);

intent.setData(Uri.parse(url));

startActivity(intent);

return true;

}

if(url.startsWith("alipays:") || url.startsWith("alipay")) {

try {

startActivity(new Intent("android.intent.action.VIEW", Uri.parse(url)));

} catch (Exception e) {

new AlertDialog.Builder(MainActivity.this)

.setMessage("未检测到支付宝客户端,请安装后重试。")

.setPositiveButton("立即安装", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Uri alipayUrl = Uri.parse("https://d.alipay.com");

startActivity(new Intent("android.intent.action.VIEW", alipayUrl));

}

}).setNegativeButton("取消", null).show();

}

return true;

}

if (!(url.startsWith("http") || url.startsWith("https"))) {

return true;

}

view.loadUrl(url);

return true;

}

});

}

//点击回退按钮不是退出应用程序,而是返回上一个页面

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) {

mWebView.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值