Я новичок в android, и в своем приложении мне нужно подключиться к для оплаты, и вот как выглядит мой веб-просмотр, когда я пытаюсь установить соединение.Загрузка https через андроид webview
Я посмотрел в Интернете для решения загрузки по протоколу HTTPS через переопределение onReceivedSslError
метода игнорировать ошибку и продолжить далее. Итак, я сделал это следующим образом.
Вот мой WebView получает свои настройки:
web = (WebView)findViewById(R.id.web);
// setting WebViewClient
web.setWebViewClient(new WebViewClientClass());
web.getSettings().setDomStorageEnabled(true);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl(orderSheetUrl);
где orderSheetUrl
является HTTPS URL, к которому мой платеж действие происходит пользователю.
Ниже мой WebViewClient класс:
private class WebViewClientClass extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("WebView", "onPageStarted " + url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("WebView", "in shouldOverrideUrlLoading");
view.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
Log.d("WebView", "onReceivedSslError");
handler.proceed(); // Ignore SSL certificate errors
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("WebView", "onPageFinished " + url);
}
}
Проблема здесь я пытаюсь загрузить ссылку, но найти в моем журнале, что только журналы для onPageStarted
и onPageFinished
вызывается.
Вот мои журналы:
12-13 17:06:31.760 8694-8694/? D/WebView: onPageStarted :"https://alpha-bill.payco.com/easyLogin/201512132004116802?inAppYn=Y"
12-13 17:06:31.760 8694-8694/? D/WebView: onPageFinished :"https://alpha-bill.payco.com/easyLogin/201512132004116802?inAppYn=Y"
12-13 17:06:31.790 8694-9927/? E/Adreno-ES20: <check_framebuffer_attachment:854>: Invalid texture format! Returning error!
12-13 17:06:31.790 8694-9927/? E/Adreno-ES20: <check_framebuffer_object_status:1237>: Framebuffer color attachment incomplete. Returning GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT!
12-13 17:06:31.800 8694-8694/? W/cr.BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 8694
12-13 17:06:31.810 8694-8694/? W/cr.BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 8694
12-13 17:06:32.180 8694-8795/? E/Adreno-ES20: <check_framebuffer_attachment:854>: Invalid texture format! Returning error!
12-13 17:06:32.180 8694-8795/? E/Adreno-ES20: <check_framebuffer_object_status:1237>: Framebuffer color attachment incomplete. Returning GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT!
Я действительно не понимаю, почему метод onReceivedSslError
не вызывается даже тогда, когда я получить доступ к URL, начиная с HTTPS, что из моего понимания должны требовать сертификат, чтобы иметь доступ ,
Я сделал что-то не так с реализацией своего WebViewClient
? Или есть ли другой способ обойти это? Заранее спасибо за помощь.
P.S. моя цель API является 23 и минимум 15.
проверить, правильно ли установлено время –