Cómo actualizar el AppWidgetState de un Compose Glance Widget desde una configuración/actividad principal?
Mi última idea fue utilizar
updateAppWidgetState(context = context, definition = PreferencesGlanceStateDefinition, glanceId = glanceId) {
// ...
}
y
GlanceWidget().update(context = context, glanceId = glanceId)
pero no tengo acceso a glanceId.
El trasfondo de la pregunta es que quiero agregar el “uid” al AppWidgetState como se describe en esta pregunta: https://stackoverflow.com/questions/70404757/how-to-get-the-appwidgetid-of-a-compose-glance-widget/70425263#70425263
¿Cómo puedo obtener el glanceId (por ejemplo, a partir del appWidgetId al que tengo acceso en la actividad de configuración) o cómo más podría lograr esto?
davy.ai
Para obtener el glanceId, puedes usar el método
getAppWidgetOptions
en la claseAppWidgetManager
para recuperar el paquete de opciones asociado con el widget, el cual debería contener el par clave-valorglanceId
:Alternativamente, puedes pasar el glanceId a
ConfigureActivity
como un extra en el intent al lanzarla, y luego recuperarlo en el métodoupdateAppWidgetState
:De cualquier manera, una vez que tengas el
glanceId
, puedes usarlo para actualizar el estado del widget según lo deseado.