Sé que es posible, pero no puedo encontrar la manera de activar una actualización de mi widget desde la actividad principal. ¿No hay alguna intención general que pueda transmitir?
android
android-activity
android-widget
Nuvious
fuente
fuente
widgetId
?intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
Esto ayudó cuando busqué cómo actualizar un widget desde un servicio / acción (pero puede ser posible desde todos los contextos):
fuente
Entonces, para actualizar un widget a partir de una actividad, puede hacerlo así:
Funciona para mi :)
fuente
Prueba esto:
fuente
En caso de que esté trabajando con un widget que usa una colección como ListView, GridView o StackView, para actualizar los elementos del widget, haga lo siguiente:
Con este método notifyAppWidgetViewDataChanged (), puede forzar a los elementos del widget a buscar nuevos datos en tiempo real.
fuente
fuente
notifyAppWidgetViewDataChanged()
eso que requiere una matriz.Solución aceptada de Phaethon en Kotlin:
Donde MyAppWidgetProvider se deriva de AppWidgetProvider:
class MyAppWidgetProvider : AppWidgetProvider() {
fuente
Si está intentando actualizar mediante programación el widget donde no tiene acceso a YourWidgetProvider.class explícitamente, por ejemplo, desde otro módulo o biblioteca, puede capturar lo que YourWidgetProvider.class.getName () genera y crear una constante:
Entonces podrás usar esto implícitamente:
fuente