TLS 1.1, 1.2 en WebView para android <= 4.3

En mi aplicación Android necesito mostrar el formulario de registro de terceros dentro de WebView . Desafortunadamente, necesito también apoyar versiones de android <4.3, donde usted consigue error del apretón de manos del SSL cuando usted conecta con el Web site. Sin embargo, pude crear solicitudes directas en android 4.1+ con un contexto de SSL personalizado que tiene TLS 1.1 habilitado explícitamente, pero no puedo pasar este contexto SSL a mi WebView . He intentado personalizar WebViewClient

  private WebViewClient webViewClient = new WebViewClient() { @Override public void onPageFinished(WebView webView, String url) { if (presenter != null) { presenter.onLoadFinished(); } } @Override public void onReceivedError(WebView webView, WebResourceRequest request, WebResourceError error) { if (presenter != null) { presenter.onLoadError(); } } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){ handler.proceed(); } @Override public boolean shouldOverrideUrlLoading(WebView webView, String url) { Request request = new Request.Builder().url(url).build(); final Handler handler = new Handler(mContext.getMainLooper()); //mOkHttpClient is an OkHttpClient with my custom SSLContext which has TLS 1.1 and TLS 1.2 enabled mOkHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, final okhttp3.Response response) throws IOException { handler.post(new Runnable() { @Override public void run() { try { webView.loadDataWithBaseURL( null, response.body().string(), "text/html", "utf-8", null); } catch (IOException e) { e.printStackTrace(); } } }); } }); } }; 

Pero eso no funcionó ya que shouldOverrideUrlLoading no se llama en las solicitudes POST.

¿Hay una manera de hacer este trabajo (probablemente una alternativa a WebView )? Cualquier ayuda es apreciada.

No estoy seguro si puedes hacer que funcione con el WebView actual, pero te recomendaría que consultes: https://crosswalk-project.org/documentation/android.html para reemplazar el WebView.

Esto se basa en la última versión de Chrome y no tendrás problemas con esa versión de Android en la que se está ejecutando el usuario.

Estoy seguro de que hay otras alternativas también, pero este es el que estoy usando para el trabajo y sé que el trabajo.

La mejor de las suertes para ti.

  • Política de seguridad de contenido de WebView
  • Cómo establecer el tipo de fuente en la vista web
  • Personalizar elementos de diálogo desplegables en WebView
  • Guardar imagen desde WebView
  • Problema de enfoque de Android WebView
  • Sherlock Acción invalidateOptionsMenu ()
  • Cargar un archivo SWF en un WebView
  • Dom iterando causando la mitad de renderizado de webview
  • Gestión de permisos de descarga de archivos WebView y permisos de tiempo de ejecución
  • Llamar a funciones javascript en una vista web desde la clase de actividad
  • ¿Cómo puedo eliminar el fondo blanco de una vista web?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.