Использование BroadcastReceiver для передачи Intent.EXTRAS - PullRequest
0 голосов
/ 13 сентября 2018

Основной вопрос: Могу ли я использовать BroadcastReceiver для передачи намерения с дополнительными данными в действие?

Настройка: У меня есть записанная дата из фрагмента DatePicker, и я хочу убедиться, что время Миллиса прошлов другое действие, но это действие не вызывается сразу из этого действия, содержащего этот фрагмент

Я попытался использовать следующий код в упражнении с фрагментом datePicker:

Intent intent = new Intent().putExtra(EVENT_MILLIS, eventDateMillis); 
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

в ""активность:

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstatnceState);
setContentView...
LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver, new IntentFilter(EVENT_MILLIS));

и мой звонок для инициации получателя:

private BroadcastReceiver mReceiver = new BroadcastReceiver () {
@Override
public void onReceive(Content content, Intent intent) {
   setReceivedDate(intent.getLongExtra(EVENT_MILLIS,0));
}
}

1 Ответ

0 голосов
/ 13 сентября 2018

Использование Broadcast - это не очень хорошая модель, и она теряет эффективность вашего приложения.Попробуйте использовать EventBus .Это легко использовать с более низкими проблемами.

...