title: How To Start An Activity From Background in Android 10?
body: <p>I am building an android app where I need to start an activity from background. I am using a ForegroundStarter which extends Service for accomplishing this. I have an activity Adscreen.class which I need to run from my Foreground service. The activity Adscreen.class works fine(starts from background) on all Android versions except Android 10.</p>
  
  <p><strong>ForeGroundStarter.class</strong></p>
  
  <pre><code>public class ForeGroundStarter extends Service {
      @Nullable
      @Override
      public IBinder onBind(Intent intent) {
          return null;
      }
  
  
  
      @Override
      public void onCreate() {
          super.onCreate();
          Log.d("sK", "Inside Foreground");
  
      }
  
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          Log.d("sK", "Inside Foreground onStartCommand");
          Intent notificationIntent = new Intent(this, Adscreen.class);
          PendingIntent pendingIntent =
                  PendingIntent.getActivity(this, 0, notificationIntent, 0);
  
  
          Notification notification =
                  null;
  
          //Launching Foreground Services From API 26+
  
          notificationIntent = new Intent(this, Adscreen.class);
          pendingIntent =
                  PendingIntent.getActivity(this, 0, notificationIntent, 0);
  
          if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {
              String NOTIFICATION_CHANNEL_ID = "com.currency.usdtoinr";
              String channelName = "My Background Service";
              NotificationChannel chan = null;
              chan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_NONE);
              chan.setLightColor(Color.BLUE);
              chan.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
              NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
              assert manager != null;
              manager.createNotificationChannel(chan);
  
              NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
              notification = notificationBuilder.setOngoing(true)
                      .setSmallIcon(R.drawable.nicon)
                      .setContentTitle("")
                      .setPriority(NotificationManager.IMPORTANCE_MIN)
                      .setCategory(Notification.CATEGORY_SERVICE)
                      .build();
              startForeground(2, notification);
  
  
              Intent dialogIntent = new Intent(this, Adscreen.class);
              dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              startActivity(dialogIntent);
              Log.d("sk", "After startforeground executed");
  
          }
  
  
  
          else //API 26 and lower
              {
                  notificationIntent = new Intent(this, Adscreen.class);
                  pendingIntent =
                          PendingIntent.getActivity(this, 0, notificationIntent, 0);
  
                  notification =
                          new Notification.Builder(this)
                                  .setContentTitle("")
                                  .setContentText("")
                                  .setSmallIcon(R.drawable.nicon)
                                  .setContentIntent(pendingIntent)
                                  .setTicker("")
                                  .build();
  
                  startForeground(2, notification);
                  Intent dialogIntent = new Intent(this, Adscreen.class);
                  dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                  startActivity(dialogIntent);
              }
  
  
  
  
          return super.onStartCommand(intent, flags, startId);
  
      }
  }
  </code></pre>
  
  <p>I read that there are some restrictions on starting activities from background on Android 10. This code doesnt seem to be working anymore.
  <a href="https://developer.android.com/guide/components/activities/background-starts" rel="noreferrer">https://developer.android.com/guide/components/activities/background-starts</a></p>
  
  <pre><code>Intent dialogIntent = new Intent(this, Adscreen.class);
              dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              startActivity(dialogIntent);
  </code></pre>
  
  <p>Any workarounds to start an activity from background on Android 10?</p>