2012-02-10 3 views
2

У меня этот простой виджет, и когда я нажимаю на него, он должен открыть мою активность, он работает, но после перезагрузки он не работает. Я должен удалить и снова добавить виджет на свой рабочий стол, потому что когда я нажимаю виджет виджета, я не отвечаю и не открываю свою активность. Так где же проблема?Почему виджет не работает после перезагрузки?

Код:

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)); 
    } 
+0

ли вам найти решение? – zys

+0

Да, да. В любом случае, спасибо, что спросили. – Adam

+1

Вы должны опубликовать свое решение вместо того, чтобы сказать «спасибо, что спросили». – Sean

ответ

2

После перезагрузки вы OnEnabled вызывается вместо OnUpdate так переместить код из OnUpdate в отдельный метод, а затем вызвать этот метод, чтобы обновить все виджеты из onEnabled

Смежные вопросы