首先我們的webview需要設(shè)置一些基本的參數(shù)信息帜消,例如支持js等
// 設(shè)置WebView屬性第焰,能夠執(zhí)行Javascript腳本
webview.getSettings().setJavaScriptEnabled(true);
...
ios端開發(fā)是能夠直接調(diào)起手機(jī)支付寶排作,但是android端不能,根本原因我認(rèn)為android啟動app的方式是通過intent的方式助析,因此命浴,我們需要做的是在webview加載時(shí)娄猫,獲取支付寶返回的url,以此url作為我們啟動支付寶支付view的url信息
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//不要加上下面注釋掉的這句代碼咳促,會導(dǎo)致web界面報(bào)錯(cuò)
// view.loadUrl(url);
if (url.startsWith("http:") || url.startsWith("https:")) {
return false;
}
//請務(wù)必使用try稚新、catch 因?yàn)樵撎幏祷氐膗rl可能為無效url或者手機(jī)沒有安轉(zhuǎn)支付寶導(dǎo)致webview閃退
try {
//通過意圖調(diào)起支付寶
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
} catch (Exception e) {
}
return true;
}
});
}