¿Podría alguien de una vez por todas explicar por favor No puedo llamar a determinedVisibility () – nunca vi una conexión para el pid

Actualmente estoy trabajando en graficar datos a través de d3 en una vista web. Naturalmente, las cosas se están rompiendo en cuanto intento volver a cargar el gráfico y darle nuevos datos. Esta línea encantadora sigue apareciendo: W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid .

He buscado una explicación, pero no parece haber nada concluyente. La gente sólo está sugiriendo para activar el almacenamiento DOM en la configuración de webview (que obviamente no soluciona el problema). Estoy sospechando que hay una condición de carrera entre la recarga de la gráfica y la alimentación de nuevos datos. He sobrepasado onPageFinished () en mi WebViewClient para llamar al oyente para cargar los datos en el gráfico, pensando que resolvería la condición de carrera, pero sin éxito.

¿Puede alguien explicarme por favor qué W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid significa? ¿Estoy en mi evaluación? ¿Cómo puedo depurarlo?

Cualquier sugerencia es apreciada.

EDIT: He resuelto el problema original, pero me encantaría saber lo que significa esa línea. Bounty para arriba.

Las llamadas consecutivas a loadUrl causan una condición de carrera. El problema es que loadUrl ("file: // ..") no se completa inmediatamente y cuando se llama a loadUrl ("javascript: ..") se ejecuta antes de que la página se haya cargado.
Así es como configuro mi webview:

 wv = (CustomWebView) this.findViewById(R.id.webView1); WebSettings wv_settings = wv.getSettings(); //this is where you fixed your code I guess //And also by setting a WebClient to catch javascript's console messages : wv.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cm) { Log.d(TAG, cm.message() + " -- From line " + cm.lineNumber() + " of " + cm.sourceId() ); return true; } }); wv_settings.setDomStorageEnabled(true); wv.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); setTitle(view.getTitle()); //do your stuff ... } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("file")) { // Keep local assets in this WebView. return false; } } }); //wv.setWebViewClient(new HelpClient(this));// wv.clearCache(true); wv.clearHistory(); wv_settings.setJavaScriptEnabled(true);//XSS vulnerable wv_settings.setJavaScriptCanOpenWindowsAutomatically(true); wv.loadUrl("file:///android_asset/connect.php.html"); 

NOTA esta línea wv.setWebChromeClient(new WebChromeClient());

En el API de nivel 19 (Android 4.4 KitKat), el motor de navegación pasó de webkit Android a webkit de cromo, con casi todas las API de WebView original envuelto a las contrapartes de cromo webkit.

Este es el método que da el error ( BindingManagerImpl.java ), de la fuente de Chromium :

 @Override public void determinedVisibility(int pid) { ManagedConnection managedConnection; synchronized (mManagedConnections) { managedConnection = mManagedConnections.get(pid); } if (managedConnection == null) { Log.w(TAG, "Cannot call determinedVisibility() - never saw a connection for the pid: " + "%d", pid); return; } 

Es una advertencia de reproducción del contenido. Espero que esto ayude; O)

Esto suele aparecer cuando se está reemplazando el método shouldOverrideUrlLoading() .

De mis usos de WebView en aplicaciones anteriores, esto se debe a lo que se está prestando en el WebView, lo que está siendo capturado en el método anterior y, a su vez, ignorado. Veo esto mucho cuando los sitios web que carga intento para cargar scripts fuera del dominio permitido.

  • Agregar botón de actualización a la página de error - Webview
  • Reemplazar cada palabra con etiqueta
  • Reaccionar WebView nativo html <select> no abre opciones en tablets Android
  • Android: no se puede obtener javascript para trabajar en WebView incluso con setJavaScriptEnabled (true)
  • WebView Javascript cross domain de un archivo HTML local
  • Vista web de Android, cargando archivo javascript en la carpeta de activos
  • Cambio de hoja de estilo con Javascript basado en navegador
  • Cordova autenticación de huellas dactilares en el servidor
  • HTML Mobile: obliga al teclado virtual a ocultar
  • ¿Es posible activar el menú compartido en smartphones (a través de HTML / JS)?
  • Configurar la cámara y la altura de la cámara
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.