title: Android Service running on separate Process gets killed when I swipe out my App (running in other process)
body: <p>I have an Android Service (implementation of Servcie interface) which is running on a separate process compared to my real app. Unfortunately when I leave my real App (in which I clicked the Button to start my Service) and swipe it out from Task Manager, my Service gets killed as well.</p>
  
  <p>I know there are a lot of questions like this here, but somehow none are targeting the Problem in my concrete constellation or they are vaguely answered.</p>
  
  <p>So in my manifest I have something like:</p>
  
  <pre><code>&lt;application ...&gt;
      &lt;activity .../&gt;
      &lt;service Android:name="MyService"
          Android:label="MyLabel"
          Android:export="false"
          Android:process=":MyRemoteProcessName" /&gt;
  &lt;/application&gt;
  </code></pre>
  
  <p>I first have played around with an IntentService, but also switched to an own implementation of the Service Interface (eliminating the IntentService to be the point of failure) which looks something like:</p>
  
  <pre><code>public class MyService extends Service {
  
      private ScheduledExecutorService scheduledWorker = Executors.newSingleThreadScheduledExecutor();
  
      @Override
      public void onStart() {
          // Init components
          startForeground(this, MyNotification);
      }
  
      @Override
      public int onStartCommand(Intent i, int startId) {
          // Execute Work on Threadpool here
          scheduledWorker.execute(new ScheduledStopRequest(this, startId), 5, TimeUnit.Minutes);
          return START_REDILIVER_INTENT;
      }
  
      // Overwritten onDestroy-Method
  
      @Override
      public void onLowMemory() {
          Log.e(LOG_TAG, "On Low Memory called!");
      }
  
      @Override
      public IBind onBind() {
          // Dont't want to let anyone bind here
          return null;
      }
  
      // Simply tries to stop the service after e.g. 5 Minutes after a call
      private static class MyRunnable implements Runnable {
  
          // Constructor with params used in run method..
  
          @Override
          public void run() {
              mReferenceToMyService.stopSelfResult(startId);
          }
      }
  }
  </code></pre>
  
  <p>I'm starting my Service in an onClick-Listener on a special button, with an explicit Intent, which kinda looks like the following:</p>
  
  <pre><code>@Override
  public void onClick(View v) {
      Intent i = new Intent(this, MyService.class);
      startService(i);
  }
  </code></pre>
  
  <p>My Intention is to keep the Service running when the user leaves the app, so that the Service can finish downloading and storing some important data. When the user comes back to my app again, he can view the data (That's why I'm executing it in a separate process). So is this possible?</p>
  
  <p>My assumption right now is, that Android somehow notices my Service is just being used by my App (due to missing IntentFilters in Manifest or explicit call rather than by filter?!) and thus kills it immediately when my App is closed (even when running as ForegroundService as you can see above).</p>
  
  <p>Does it seem possible to you and might some changes in the call of the service fix this problem or am I getting the concept of a service wrong?</p>
  
  <p>(One last note: onLowMemory-Method doesn't get called -> No log entries.)</p>