У меня есть активность в действии с LocalBroadcastManager, определенная точно так же, как в ответе here, за исключением той только разницы, что она определена в ActionBarActivity.Android получил трансляцию в ActionBarActivity
По какой-то причине, независимо от того, что я пытаюсь, я не могу добраться до приемника onReceive (то есть успешно получая широковещательное сообщение).
Сервис-код:
public class GcmIntentService extends IntentService {
@Override
protected void onHandleIntent(Intent intent) {
Intent toDrawerActivity = new Intent(syncActionName);
String syncType = extras.getString("data");
toDrawerActivity.putExtra("syncType", syncType);
System.out.println("sending intent in service");
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
}
И код вида деятельности:
public class DrawerActivity extends ActionBarActivity {
private BroadcastReceiver dataUpdaterReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("in broadcast receiver");
}
};
protected void onCreate(){
...
...
LocalBroadcastManager.getInstance(this).registerReceiver(dataUpdaterReceiver,
new IntentFilter(GcmIntentService.syncActionName));
}
protected void onDestroy(){
LocalBroadcastManager.getInstance(this).unregisterReceiver(dataUpdaterReceiver);
}
}
Что именно я здесь делаю неправильно?