@Tyhj
2017-04-18T09:22:40.000000Z
字数 1248
阅读 2325
Android
原文:https://www.zybuluo.com/Tyhj/note/726927
最近App用到支付宝,有个方法还是挺好的,后台写好了逻辑,给一个网址,移动端来调用就好了。可以打开手机支付宝支付也可以在网页上支付。
WebSettings webSettings = web_result .getSettings();webSettings.setJavaScriptEnabled(true);webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件web_result.loadDataWithBaseURL(null, html, "text/html", "utf-8", null);web_result.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);web_result.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {Log.e("加载的网页",url);if (url.contains("platformapi/startApp")) {startAlipayActivity(url);// android 6.0 两种方式获取intent都可以跳转支付宝成功,7.1测试不成功} else if ((Build.VERSION.SDK_INT > Build.VERSION_CODES.M)&& (url.contains("platformapi") && url.contains("startApp"))) {startAlipayActivity(url);} else {view.loadUrl(url);}return true;}});// 调起支付宝并跳转到指定页面private void startAlipayActivity(String url) {Intent intent;try {intent = Intent.parseUri(url,Intent.URI_INTENT_SCHEME);intent.addCategory(Intent.CATEGORY_BROWSABLE);intent.setComponent(null);startActivity(intent);} catch (Exception e) {e.printStackTrace();}}
只需要一个URL就可以完成支付功能,就是支付成功没有什么反馈
