¿Cómo evitar que los viejos widgets desaparezcan durante la repetición de código mayor?
Tengo una aplicación en el mercado que admite widgets. He hecho algunos cambios pesados en la aplicación, revisando muchos de los internos, reemplazando / cambiando el nombre de las actividades, etc Otros cambios incluyen la obtención de los datos de configuración de widget de diferentes claves de preferencia compartida, aunque he escrito código de conversión para manejar la migración . La aplicación funciona como lo deseo, incluyendo los widgets, cuando se instala desde fresco. Sin embargo, ahora estoy probando la actualización de una versión antigua de la aplicación a una nueva (a través de los emuladores). Estoy viendo un comportamiento extraño. En una ocasión el widget apareció bien en el lanzamiento inicial, pero al hacer clic en intentó iniciar una actividad antigua en lugar de la nueva que he programado. Así que la primera pregunta es, ¿por qué no se actualizó el widget al nuevo código en la instalación de la aplicación?
El resto de mis intentos de probar la actualización han hecho que los widgets existentes desaparezcan por completo en una nueva versión instalada. ¿Qué podría estar causando esto? Nada de nota aparece en los log-cat registros. ¿Alguna sugerencia?
- Utilizar two pendingIntent en una vista en Appwidget
- Evitando el error FALLED BINDER TRANSACTION al actualizar muchos mapas de bits de widget
- ¿Cómo obtener ids de todos los widgets instalados?
- La vida útil de AppWidget ID
- Widget de aplicación no se muestra en el cajón de aplicaciones de ICS
- AppWidgetManager getAppWidgetIds devolviendo identificadores de Widget antiguos
- SetCompoundDrawables con RemoteViews
- Widget onUpdate llamado cuando se inicia la Actividad de configuración
- Appwidget listview filas que no se actualizan o cargan después de la actualización de Marshmallow
- ListView en el widget agrega aleatoriamente los elementos en el desplazamiento y el cambio de tamaño (vistas remotas anidadas)
- Widget de la aplicación en Android con conexión de red
- Android Widget con ListView que muestra sólo vistas de carga
- Establecer la posición de TextView en RemoteView durante el tiempo de ejecución
… reemplazar / cambiar el nombre de las actividades …
Ahí está tu problema. Si cambia el nombre de un receptor de AppWidget, desaparecerá. La única solución es no cambiar el nombre.
Similar para una actividad que se puede fijar a la pantalla de inicio. Si cambia el nombre de la actividad, el icono de la pantalla de inicio desaparecerá.
Lea más acerca de esto aquí: Desarrolladores de Android Blog: Cosas que no pueden cambiar
- ¿Cómo puedo iniciar la actividad PRINCIPAL con la ayuda de <intento-filtro>?
- Cómo lograr el concepto NSUserDefaults en Android