J'essaie d'intercepter le rappel dans mon fournisseur de widget à partir de tous les services avec diffusion. Mais cela ne fonctionne pas.Android AppWidgetProvider écoute le rappel du service
Ceci est mon fournisseur widget de
public class MyProvider extends AppWidgetProvider {
final String LOG_TAG = "States";
public final static String BROADCAST_ACTION = "action";
BroadcastReceiver br;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(LOG_TAG, "receive intent"); // No fire here!!
}
};
IntentFilter intFilt = new IntentFilter(BROADCAST_ACTION);
context.registerReceiver(br, intFilt);
}
}
Ceci est mon remoteViewsFactory d'où je veux callbacks capture.
public class MyFactory implements RemoteViewsFactory {
Context context;
int widgetID;
final String LIST_READY = "list_ready";
public final static String BROADCAST_ACTION = "action";
@Override
public void onDataSetChanged() {
Intent intent = new Intent(BROADCAST_ACTION);
intent.putExtra(LIST_READY, 1);
context.sendBroadcast(intent);
}
}
Peut-être que c'est faux? Comment organiser la diffusion entre le widget et l'usine mieux?