Не совсем понял кто у Вас порождает и кто принимает броадкасты. AlarmManager, Service, Activity?
AlarmManager при наступлении определенного времени выполняет переданный ему PendingIntent, который, как я понял, запускает сервис. Сервис что-то делает, посылает броадкаст и завершается. На этот броадкаст подписан ресивер, определенный внутри активити, и стало быть если активити запущена она должна что-то показать.
Если порядок работы такой, то всё что нужно сделать, это описать соответствующий PendingIntent и передать его AlarmManager-у. например так:
public class ScheduleAlarmActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
setAlarm(System.currentTimeMills() + 1000);
}
public void setAlarm(long time) {
Intent intent=new Intent(this, BroadcastService.class);
intent.putExtra("INTENT_DATA", "some intent data");
PendingIntent pi= PendingIntent.getService(context,0, intent,0);
AlarmManager am=(AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, time, pi);
}
}
Далее в сервисе в методе onStartCommand(...) обрабатываем полученный интент, делаем то, что нужно, шлем бродкаст и завершаем свою работу вызовом метода stopSelf();
public class BroadcastService extends Service {
// ....
public int onStartCommand(Intent intent, int flags, int startId) {
String intnetData = intent.getString("INTENT_DATA", "");
// делаем свою работу
Intent broadcast = new Intent("SOME_ACTIVITY_ACTION");
LocalBroadcastManager.getInstance(this).sendBroadcast(broadcast);
stopSelf();
return START_NOT_STICKY;
}
}
Теперь про активити. При создании активити регистрируем ресивер в onResume() и подписываем его на необходимый броадкаст от сервиса. В onPause отпирываем ресивер.
public class ActionActivity extends AppCompatActivity {
// ....
BroadcastReceiver br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// обрабатываем броадкаст
}
}
@Override
protected void onResume() {
super.onResume();
// создаем фильтр для BroadcastReceiver
IntentFilter intFilt = new IntentFilter("SOME_ACTIVITY_ACTION");
// регистрируем (включаем) BroadcastReceiver
LocalBroadcastManager.getInstance(this).registerReceiver(br, intFilt);
}
@Override
protected void onPause() {
super.onPause();
LocalBroadcastManager.getInstance(this).unregisterReceiver(br);
}
}
В любом случае надо больше информации от Вас. Что вы хотите получить и фрагменты проблемного кода.