Загрузка WebView занимает много времени

#android #url #webview

#Android #url #webview

Вопрос:

Я интегрирую платежный шлюз Skrill со своим приложением для Android.Поскольку доступного sdk нет, мне приходится перенаправлять свое приложение на домашнюю страницу skrill.Я использую webview.Но проблема в том, что webview не отображает веб-страницу и показывает пустой экран.Я не могу понять проблему.Любая помощь будет оценена.

Вот мой код:

 import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;

@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {
WebView wbskrill;
String url;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wbskrill=(WebView)findViewById(R.id.wbv);
        url="https://www.skrill.com/en/";

        wbskrill.setWebViewClient(new MyBrowser());
       }
        //wbskrill.setWebViewClient(new WebViewClient());



     public void open(View view){
        wbskrill.getSettings().setLoadsImagesAutomatically(true);
        wbskrill.getSettings().setJavaScriptEnabled(true);
        wbskrill.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        wbskrill.loadUrl(url);

       }

     private class MyBrowser extends WebViewClient {
          @Override
          public boolean shouldOverrideUrlLoading(WebView view, String url) {
             view.loadUrl(url);
             return true;
          }
       }
}
  

Ответ №1:

В этом случае переопределенные методы webview используются для обработки SSL-сертификата и принятия ssl-сертификата, он будет успешно запущен.

 public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) {


 handler.proceed() ;


 }
  

В вашем случае

 private class MyBrowser extends WebViewClient {
          @Override
          public boolean shouldOverrideUrlLoading(WebView view, String url) {
             view.loadUrl(url);
             return true;
          }

@Override 
public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) {

     handler.proceed() ;

     }
       }
  

Для получения дополнительной информации смотрите Эту ссылку Android WebView с https loadUrl показывает пустую / пустую страницу