У меня есть это приложение, в котором пользователи обновляют определенные переменные в Activity, и эта Activity передает новые переменные в IntentService с помощью BroadcastReceiver. Однако BroadcastReceiver в IntentService, похоже, не получает широковещательные сообщения. Это код внутри службы для создания приемника вещания
protected class UpdateReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent){
Log.d("receiver", "Got message: ");
//state=3;
//Toast.makeText(context, "got it", Toast.LENGTH_SHORT).show();
}
};
А вот код для регистрации получателя в функции onHandle ()
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("updates");
UpdateReceiver lol = new UpdateReceiver();
DetectService.this.registerReceiver(lol, intentFilter);
Наконец, вот код для отправки трансляции из действия
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("updates");
HomePageActivity.this.sendBroadcast(broadcastIntent);
Log.d("sender", "send msg");
Когда я включаю приемник в то же действие, что и вещательная часть, он работает, но не тогда, когда я помещаю его в IntentService. Помогите пожалуйста!
В другой связанной заметке я попытался использовать LocalBroadcastManager в этом проекте, поскольку все трансляции локальные, но затмение не может импортировать класс совместимости. Я уже установил его с помощью Android SDK manager. Есть ли что-то, что я делаю здесь не так?