2010-12-03 39 views
11

J'ai le code suivant dans ma classe AppWidgetProvider.App Widget onUpdate non appelé lorsque la méthode onReceive existe

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    Log.i("Custom", "Update"); 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    Log.i("Custom", "Recieve"); 
} 

Si je commente la méthode onReceive la méthode onUpdate sera appelé à chaque fois que j'ajouter le widget à l'écran d'accueil, si je ne il ne fonctionne pas. Des pensées?

Répondre

16

Essayez:

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    Log.i("Custom", "Update"); 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    super.onReceive(context, intent); 
    Log.i("Custom", "Recieve"); 
} 

Si vous regardez le code AppWidgetProvider, vous verrez qu'il appelle la méthode onUpdate. Donc, vous devez appeler la méthode par défaut onUpdate de la super classe.

+0

Merci, j'aurais vraiment dû m'en prendre à moi-même! – Leo