android webview 网关,在Android webview中CC Avenue支付网关会话过期问题
"Your session has been expired. Please re-initiate your transaction. Don't worry... It happens to the best of us." 當我嘗試使用Android webview從CC Avenue支付網關使用paytm錢包付款時,會顯示錯誤消息 .
以下是我用于支付網關的代碼:
@Override
protected void onCreate(Bundle savedInstanceState) {
progressBarPB = (ProgressBar) findViewById(R.id.progressBarPB);
progressBarPB.setVisibility(View.VISIBLE);
WebView webView = (WebView) findViewById(R.id.paymentGatewayWV);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebViewClient(new HelloWebViewClient());
webView.clearCache(true);
webView.clearHistory();
clearCookies(this);
webView.loadUrl("payment gateway url");
}
@SuppressWarnings("deprecation")
public static void clearCookies(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().flush();
} else {
CookieSyncManager cookieSyncMngr = CookieSyncManager.createInstance(context);
cookieSyncMngr.startSync();
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
cookieManager.removeSessionCookie();
cookieSyncMngr.stopSync();
cookieSyncMngr.sync();
}
}
public class HelloWebViewClient extends WebViewClient {
public HelloWebViewClient() {
// do nothing
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressBarPB.setVisibility(View.GONE);
}
}
有時付款成功完成,如果我再次嘗試付款,則顯示上述錯誤 . 我正在清除瀏覽器中的所有cookie數據,甚至為什么顯示這個錯誤我不明白 . 請幫我一個好的解決方案 . 謝謝 :) .
總結
以上是生活随笔為你收集整理的android webview 网关,在Android webview中CC Avenue支付网关会话过期问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸿蒙系统手机用户体验,鸿蒙系统真的来了!
- 下一篇: html5 推送到桌面,Html5中的桌