studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android widget reboot

android - programacion - ¿Por qué el widget no funciona después del reinicio?



manual de programacion android pdf (1)

Después de reiniciar, se llama a OnEnabled en lugar de onUpdate, así que mueva el código de onUpdate a un método diferente y luego llame a ese método para actualizar todos los widgets desde onEnabled.

Tengo este widget simple y cuando hago clic en él, debería abrir mi actividad, funciona, pero no funciona después de reiniciar. Debo eliminar y agregar nuevamente el widget a mi pantalla de inicio, porque cuando hago clic en el widget del widget no responde y no abre mi actividad. ¿Entonces, dónde está el problema?

Código:

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { final int N = appWidgetIds.length; for(int i=0; i<N; i++){ int appWidgetId = appWidgetIds[i]; context.startService(new Intent(context, WidgetService.class)); Intent intent = new Intent(context, WidgetDialog.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); views.setOnClickPendingIntent(R.id.layout_widget, pendingIntent); appWidgetManager.updateAppWidget(appWidgetId, views); } } @Override public void onEnabled(Context context){ context.startService(new Intent(context, WidgetService.class)); } @Override public void onDisabled(Context context){ context.stopService(new Intent(context, WidgetService.class)); }