Ejecución de WebView en segundo plano

Estoy desarrollando una aplicación que utiliza un WebView para iniciar sesión en un sitio web, extraer contenido de él y notificar al usuario cuando se actualiza el contenido. He conseguido el WebView para conseguir el contenido sin embargo necesito saber cómo puedo funcionar el WebView como servicio para conseguirlo funcionar en el fondo.

Como entiendo, WebViews debe ser manipulado desde el hilo de la interfaz de usuario, lo que hace las cosas mucho más difícil.

¿Alguna sugerencia o solución sobre cómo puedo conseguir que la aplicación notifique al usuario, independientemente de si la aplicación está abierta o no?

Si bien WebViews necesita ser manipulado en un solo hilo, no necesariamente tiene que ser el subproceso de interfaz de usuario (a menos que desee adjuntar el WebView a la jerarquía de vista), sin embargo, debe ser el mismo subproceso para todas las WebViews.

Si bien no es algo explícitamente soportado (o probado en gran medida), no hay nada especial que el WebView haga para evitar que lo ejecutes en un Servicio. El WebView llama a un par de métodos en el contexto que normalmente no funcionan en un servicio (como getTheme ()), por lo que tendría que trabajar con eso con un ContextWrapper. También necesitará llamar a WebView.layout manualmente para engañar a WebView y pensar que tiene un tamaño. Podría haber más cosas que tendrías que hacer, pero nada más me viene a la mente.

¿Lo dices en serio?

 runOnUiThread(new Runnable(){ public void run() { ... something } }); 

No se puede inflar o modificar ninguna vista desde el subproceso de fondo. Pero si desea que el contenido de una página web, se puede buscar en un hilo de fondo utilizando HTTP GET. Usted necesita utilizar GET en la url para obtener sus datos HTML.

  • Android webview.loadUrl no cargará otra página web
  • Android 4.4 y superior - WebView No se puede llamar a determinadoVisibility () - nunca vio una conexión para el pid
  • ¿Cómo mostraría una vista como una superposición de otra?
  • Se bloquea el video HTML 5 al ir a pantalla completa
  • ¿Cómo puedo panoramizar una webview en google glass
  • Cómo administrar la autenticación básica en WebView
  • ¿Es posible almacenar certificado SSL en android webview
  • ¿Cómo evitar la recreación de fragmentos cuando se selecciona de NavigationDrawer?
  • Detectar si Flash está instalado en Android e insertar un video Flash en una actividad
  • Vista Web de Android: la página web debe ajustarse a la pantalla del dispositivo
  • WebView de Android: renderizado extraño de líneas 1px en pantallas hdpi
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.