Estoy trabajando en un widget de Android y funciona muy bien en API Nivel 5 o superior. No es compatible en absoluto en el nivel 1 o 2 de la API. Debería funcionar absolutamente bien en 3 y 4, pero por algún motivo el widget no se actualiza.¿Por qué mi widget de aplicación no se actualiza en API 3 o 4?
El método onUpdate se llama y se ejecuta sin errores; sin embargo, en 3 y 4 no cambia el texto del widget. Estoy bastante perdido. ¿Alguna idea?
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
DataAccess helper = new DataAccess(context);
String text = helper.getCurrentText();
helper.close();
if (text != null)
views.setTextViewText(R.id.widget_text, text);
Intent intent = new Intent(context, WidgetDetailsActivity.class);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.widget, pending);
appWidgetManager.updateAppWidget(appWidgetIds, views);
}
¿Ha depurado el widget? ¿Obtienes el texto como se esperaba? ¿Funciona el intento pendiente? ¿Se ha ejecutado onUpdate? – Kaj
Sí, adjunté el depurador y todo funcionó, excepto el cambio de texto. Podría cambiar colores, tamaños, comportamientos y todo eso, pero no pude cambiar el texto. No lo he probado en 1.5 o 1.6 en mucho tiempo porque esa versión se está volviendo cada vez más obsoleta. –
Extraño. Tengo widgets que funcionan con 1.5+, y no he tenido ningún problema con la actualización de textos. – Kaj