Android appwidget no se actualizará desde la actividad

Tengo un appwidget simple y quiero actualizarlo cuando ocurre una acción en una actividad (en la misma aplicación). En onUpdate (), inmediatamente actualizar el widget, que funciona bien. En mi actividad, llamo al mismo método de actualización estática en mi appwidget que se llama en onUpdate () para actualizar las vistas. El widget no se actualiza.

Puedo rastrear el código justo en el método AppWidgetManager.updateAppWidget (), y todo esto bien, pero el widget no se actualiza.

La única diferencia posible que puedo ver es que el objeto de contexto pasado en mi método de actualización estática es diferente, cuando se llama desde el contexto de una actividad frente al contexto del método onUpdate () de un appwidget. Sin embargo, hay muchos ejemplos en la web de este así que espero que debería funcionar.

Sin ver tu código no estoy 100% seguro de cómo estás tratando de hacerlo, sin embargo aquí está el método que uso. Dentro de mi Activity tengo el siguiente método:

 private void updateAllWidgets(){ AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getApplicationContext()); int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(this, MyWidget.class)); if (appWidgetIds.length > 0) { new MyWidget().onUpdate(this, appWidgetManager, appWidgetIds); } } 

Donde MyWidget es la clase del appwidget. Puedo llamar a este método desde cualquier lugar dentro de mi Activity para actualizar todos mis appwidgets.

En lugar de utilizar un método estático aprovechar el hecho de que el widget ya es un receptor de difusión y registrar una intención de actualización en su manifiesto. Luego, cada vez que necesite actualizarlo desde la actividad, simplemente llame al

 //in your activity sendBroadcast(new Intent(MyWidget.ACTION_UPDATE).putExtra(whatever)); //In widget class public static final String ACTION_UPDATE = "com.example.UPDATE_MY_WIDGET"; 

Y dentro de las etiquetas del receptor de su archivo de manifiesto

 <intent-filter> <action android:name="com.example.UPDATE_MY_WIDGET"/> </intent-filter> 
  • Cálculo del tamaño de Appwidget
  • OnGetViewFactory sólo se llama una vez para varios widgets
  • ListView + GridView en el Widget
  • Actualización de AppWidget
  • Método Android AppWidgetManager getAppWidgetIds que devuelve matriz vacía
  • Algunos widgets de terceros dejan de actualizarse después de la actualización de la aplicación
  • ¿Cómo puedo obtener el DisplayMetrics correcto de un AppWidget en Android?
  • Eliminación de AppWidgets mediante programación
  • Cómo cambiar el tamaño del texto en función del tamaño del widget en un textview en un appwidget?
  • Widget de Android no se está actualizando
  • Android - ¿cómo actualizar widget a menudo, pero sólo cuando es visible?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.