Я пытаюсь интегрировать платежный сервис. После получения токена доступа платежная служба возвращает ответ в виде полной веб-страницы на другое попадание в конечную точку. Но, к сожалению, существует проблема с отображением этой веб-страницы в android webview. Ниже приведен скриншот, показывающий, как он отображается в android веб-просмотре:
Код: (моя основная деятельность вызывает метод sendPayment)
private void sendPayment(String token) {
Call<ResponseBody> call = service.sendPayment(102, "My Test", token, "00", "100", "03451234567", "arfeen@arfeen.me", "POSTMAN-TEST-ARF", "01", "Test Purchase", "www.facebook.com", "www.google.com", "TEST-01", "2020-03-03", "www.youtube.com");
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()) {
try {
renderPage(response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Toast.makeText(MainActivity.this, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
}
}
);
}
private void renderPage(String myHtml) {
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.setWebViewClient(new MyBrowser());
webView.loadData(myHtml, "text/html", "UTF-8");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}