Tengo un widget, su configuración para que cuando haga clic en él, abra algunas configuraciones en una actividad.Actualizar Android Widget From Activity
views.setOnClickPendingIntent(R.id.btnActivate, pendingIntent);
Esto configura algunos ajustes para la aplicación. Lo que quiero lograr es hacer que el widget actualice su vista para reflejar las configuraciones modificadas cuando se cierre la actividad I de lanzamiento. Usar el intervalo de actualización o cualquier otro tipo de sondeo no es apropiado para esto.
que he visto un par de lugares aquí y en la documentación androide este código utilizado:
appWidgetManager.updateAppWidget(mAppWidgetId, views);
Pero no sé cómo obtener el valor mAppWidgetId. Probé siguiendo el ejemplo de una actividad de configuración del widget aquí http://developer.android.com/guide/topics/appwidgets/index.html, pero en el siguiente código,
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
extras siempre es nula, por lo que nunca me da la AppWidgetID.
Ok, ahora solo estoy divagando. ¿Qué crees que puedo hacer?
Gracias por compartir la respuesta! ¿Dónde tenemos que poner este código, dentro de la actividad de configuración de widgets o dentro de la clase de widgets? – BamsBamx
No importa, puse esto dentro del método updateWidget, cambié algo de "this" por "context" y eliminé 'AppWidgetManager appWidgetManager = AppWidgetManager.getInstance (this)' Ahora está funcionando ... ¡gracias! – BamsBamx
Si tiene varias configuraciones para los widgets, es posible que desee probar appWidgetManager.getAppWidgetIds (componente) y luego iterar sobre ellos. – rwilson04