How chat apps (e. g. Messenger) listen to incoming messages even if their activity haven't been started yet since in android 3.1 and later this is not possible:
Manifest:
<service android:name=".ManagerService" android:enabled="true" />
<receiver
    android:name=".BootFinishedReceiver"
    android:directBootAware="true"
    android:enabled="true"
    android:exported="false"
    android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>
Receiver:
 public class BootFinishedReceiver extends BroadcastReceiver {
       @Override
       public void onReceive(Context context, Intent intent) {
            Intent serviceIntent = new Intent(context, ManagerService.class);
            context.startService(serviceIntent);
       }
   }
There have to be some way around as chat apps are still working this way.
Thanks for any informations or ideas