I need to have a two way communication between my activity and a running IntentService.
The scenario is like this: the app can schedule alarms which on run, start an IntentService which fetches some data from web and process it. There are three possible situations when IntentService finishes:
- The app is in focus, which means that when the IntentService will finish, the app needs to refresh its views with the new data. 
- The app is closed and when opened after IntentService has finished the work, so the app will have access to processed data 
- The app is opened while the IntentService is running, in which case I need to have a way from the activity to ask the IntentService if its doing something in the background.
For 1. I have already implemented a BroadcastReceiver in my activity which gets registered with the LocalBroadcastManager. When IntentService finishes the work, sends a broadcast and the activity reacts. This works fine
For 2. There is nothing needed to be done
For 3. I don't know what to do. So far I've tried this:
In Activity:
LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent(BROADCAST_SEND_TO_SERVICE));
In IntentService
private LocalBroadcastManager localBroadcastManager;
    private BroadcastReceiver broadcastReceiverService = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(BROADCAST_SEND_TO_SERVICE)) {
               //does not reach this place
               //Send back a broadcast to activity telling that it is working
            }
        }
    };
  @Override
    protected void onHandleIntent(Intent intent) {
        localBroadcastManager = LocalBroadcastManager.getInstance(context);
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(BROADCAST_SEND_TO_SERVICE);
        localBroadcastManager.registerReceiver(broadcastReceiverService, intentFilter);
.... //do things
}
The problem with my implementation is that n the IntentService the BroadcastReceiver does not fire onReceive. Any suggestions or maybe a simpler way for the Activity to ask the IntentService what it is doing?
LE: Trying to get atomicboolean. In Service:
public static AtomicBoolean isRunning = new AtomicBoolean(false);
 @Override
    protected void onHandleIntent(Intent intent) {
        isRunning.set(true);
        // do work
        // Thread.sleep(30000)
        isRunning.set(false);
}
In Activity, restarting the app while service is running:
    Log(MyIntentService.isRunning.get());
//this returns always false, even if the intent service is running
On AndroidManifest
 <service
            android:name=".services.MyIntentService"
            android:exported="false" />
