2015-09-24 4 views
1

Я пробовал несколько способов создания приложения webview, но у меня проблема с некоторыми URL-адресами, например http://bit.ly/1MV5ov4 (это просто пример, потому что у него есть SPLASH Экран, а затем загружает контент). Это не сработает, он получает stucks на заставке мобильного сайта и больше ничего не происходит. Как исправить?Android Webview не открывает некоторые URL-адреса

На самом деле я использую сторонний код, но я попытался другими способами с тем же результатом. Может быть, это связано с HTML5?

public class MainActivity extends Activity { 

private WebView mWebView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mWebView = (WebView) findViewById(R.id.activity_main_webview); 

    // Force links and redirects to open in the WebView instead of in a browser 
    mWebView.setWebViewClient(new WebViewClient()); 
    mWebView.setWebViewClient(new ExtendWebViewClient()); 

    // Enable Javascript 
    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 

    // Use remote resource 
    mWebView.loadUrl("http://bit.ly/1MV5ov4"); 
+0

Посмотрите на проект Crosswalk. Он представляет собой веб-просмотр, построенный на движке Chrome. Поддерживает Cordova, WebRTC и многие другие инструменты. Android 4.0+ –

+0

Не могли бы вы показать пример кода, который вы используете для показа этого WebView? Вы настраиваете его каким-либо образом? – NasaGeek

+0

Я использую сторонний код, но я тестировал по-разному с тем же результатом. В любом случае я добавил код ccode .. –

ответ

3

Возможно, возникла проблема, поскольку этот сайт использует https. Пожалуйста, попробуйте следующее:

private class ExtendWebViewClient extends WebViewClient { 

     @Override 
     public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { 
      // Ignore SSL certificate errors 
      handler.proceed(); 
     } 
} 

Затем с помощью WebView экземпляра введите следующую команду:

mWebView.setWebViewClient(new ExtendWebViewClient()); 

onReceivedSslError уведомляет хост-приложение, которое произошла ошибка SSL при загрузке URL. И, вызывая continue(), вы их преодолеваете. Однако это может привести к рискам безопасности.

+0

Спасибо за ответ. Пробовал, но ничего не изменилось. Лучше ли использовать внешний браузер в приложении вместо webview? –

+1

Это работа для меня! –

Смежные вопросы