Intereting Posts
Заменить дублированный код параметром функции Функции расширения для аннотированных типов Firebase AdMob вызывает IncompatibleClassChangeError Компонентные объекты в интерфейсах Котлина Почему нажатие на элементы RecyclerView возвращает неверный идентификатор элемента? Kotlin: изменения, сделанные в супер-конструкторе, перезаписываются Как назвать assertEquals с Double Epsilon / Precision в Котлине? Как создать статический класс в Котлине? База данных объектов, перекрывающая вставленные объекты Функция Котлина: Требуемая единица измерения? Найдено Int Как создать onclick событие в адаптере с помощью интерфейса Android? воспроизведение любого встроенного видео в веб-браузере в Android с намерением Kotlin type mistmatch () -> SomeType vs SomeType Могу ли я использовать два xml-макета для использования одного и того же зрителя с использованием синтетических расширений Kotlin? Ошибка выполнения с помощью ListView в Android с Kotlin?

Широковещательный приемник onReceive () не вызывается

Широковещательный приемник

mBroadcastReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { Log.i(TAG,"contact list populate broadcast") var action = intent.action Log.v("Action is ",action) when (action) { GetContactListFromServer -> { println("Get contact list") } } } } val filter = IntentFilter(GetContactListFromServer) this.registerReceiver(mBroadcastReceiver, filter) 

Вот как я отправляю трансляцию

 val i = Intent(ContactListActivity.Obz.GetContactListFromServer) i.`package` = mApplicationContext?.getPackageName() mApplicationContext?.sendBroadcast(i) 

Этот код работает нормально до прошлой ночи. Я не могу отладить, что происходит не так?

Solutions Collecting From Web of "Широковещательный приемник onReceive () не вызывается"

Попробуйте

В вашей деятельности Внутри метода onCreate объявляется

 LocalBroadcastManager.getInstance(context).registerReceiver(MyBroadcastReceiver, new IntentFilter("MyFilter")); 

Затем реализуйте MyBroadcastReceiver в действии

 private final BroadcastReceiver MyBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String Action = intent.getStringExtra("Action"); switch (Action){ case "updatedata": String message = intent.getStringExtra("message"); String date_time = intent.getStringExtra("date_time"); break; default: break; } } }; 

Отправить трансляцию, как это

 Intent intent = new Intent("MyFilter"); intent.putExtra("message", message); intent.putExtra("date_time", date_time); intent.putExtra("Action", "updatedata"); LocalBroadcastManager.getInstance(context).sendBroadcast(intent);