Я пытаюсь поймать обратный вызов в моем провайдере виджетов из любых служб с трансляцией. Но это не сработает.Android AppWidgetProvider прослушивает обратный вызов из службы
Это мой виджет провайдер
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);
}
}
Это мой remoteViewsFactory, где я хочу ловить обратные вызовы.
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);
}
}
Возможно, это неправильно? Как лучше организовать трансляцию между виджетами и фабрикой?