title: java.lang.NoSuchMethodError: No virtual method startForeground
body: <p>I'm trying to lauch a foreground service, but receiving NoSuchMethodError. It says that no startForeground found, but it looks like it is present. I do have the service and the android.permission.FOREGROUND_SERVICE permission delared in the manifest file.</p>
  
  <pre><code>public void startForegroundService(Intent intent) {
      Log.d(TAG, "startForegroundService: " + intent);
  
      if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {
          getContext().startForegroundService(intent);
      } else {
          getContext().startService(intent);
      }
  }
  </code></pre>
  
  <p>And receiving this error:</p>
  
  <pre><code>java.lang.NoSuchMethodError: No virtual method startForeground(ILandroid/app/Notification;I)V in class Lcom/volnoor/backup/core/sync/BaseForegroundService; or its super classes (declaration of 'com.volnoor.backup.core.sync.BaseForegroundService' appears in /data/app/com.volnoor.backup-aFOxNxXCGe_PmUbYxrrdHw==/base.apk!classes2.dex)
      at com.volnoor.backup.core.sync.BaseForegroundService.onStartCommand(BaseForegroundService.java:27)
      at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3567)
      at android.app.ActivityThread.-wrap20(Unknown Source:0)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1718)
      at android.os.Handler.dispatchMessage(Handler.java:106)
      at android.os.Looper.loop(Looper.java:164)
      at android.app.ActivityThread.main(ActivityThread.java:6687)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
  </code></pre>
  
  <p>DriveService:</p>
  
  <pre><code>public class DriveService extends BaseForegroundService {
  
      @Override
      protected int getId() {
          return 1;
      }
  
      @Override
      protected Notification getNotification() {
          return new NotificationCompat.Builder(this, BackupApplication.CHANNEL_FOREGROUND_SYNC)
                  .setContentTitle("TODO Title")
                  .setContentText("TODO Text")
                  .setSmallIcon(R.drawable.ic_google_drive)
                  // TODO .setContentIntent(pendingIntent)
                  .build();
      }
  
      @Override
      protected int getServiceType() {
          return FOREGROUND_SERVICE_TYPE_DATA_SYNC;
      }
  }
  </code></pre>
  
  <p>BaseForegroundService:</p>
  
  <pre><code>public abstract class BaseForegroundService extends Service {
  
      private static final String TAG = "BaseForegroundService";
  
      @Override
      public void onCreate() {
          super.onCreate();
          Log.d(TAG, "onCreate");
      }
  
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          Log.d(TAG, "onStartCommand");
  
          startForeground(getId(), getNotification(), getServiceType());
  
          return START_STICKY;
      }
  
      @Nullable
      @Override
      public IBinder onBind(Intent intent) {
          return null;
      }
  
      @Override
      public void onDestroy() {
          super.onDestroy();
          Log.d(TAG, "onDestroy");
      }
  
      protected void stopForegroundService() {
          Log.d(TAG, "stopForegroundService");
  
          stopForeground(true);
          stopSelf();
      }
  
      protected abstract int getId();
  
      protected abstract Notification getNotification();
  
      protected int getServiceType() {
          return FOREGROUND_SERVICE_TYPE_MANIFEST;
      }
  }
  </code></pre>