title: IntentService is deprecated, how do I replace it with JobIntentService?
body: <p>Following <code>FetchAddressIntentService</code> implementation with <code>IntentService</code> (in kotlin): </p>
  
  <pre><code>class FetchAddressIntentService  //Constructor of this service
      : IntentService(INTENTTAG) {
      //Receiver where results are forwarded from this service
      protected var resultReceiver: ResultReceiver? = null
  
      private val TAG by lazy { this::class.java.simpleName }
  
      //Intent Service handler
      override fun onHandleIntent(intent: Intent?) { //Errormessages
          var errorMessage = ""
          if (intent != null) {
              resultReceiver =
                  intent.getParcelableExtra(RECEIVER)
          }
          //Checks if receiver was properly registered
          if (resultReceiver == null) {
              Log.wtf(
                  TAG,
                  "No reciever received. There is nowhere to send the results !!"
              )
              return
          }
          //Get the location passed to this service through an extra.
          var location: Location? = null
          if (intent != null) {
              location =
                  intent.getParcelableExtra(LOCATION_DATA_EXTRA)
          }
          //Make sure the location is really sent
          if (location == null) {
              errorMessage = getString(R.string.gis_error_no_location_data_provided)
              Log.wtf(TAG, errorMessage)
              deliverResultToReceiver(FAILURE_RESULT, errorMessage)
              return
          }
          //Setting locale
          val geocoder = Geocoder(this, Locale.ROOT)
          //Address found
          var addresses: List&lt;Address&gt;? = null
          try {
              addresses = geocoder.getFromLocation(location.latitude, location.longitude, 1)
              Log.i(TAG,"rec: address = ${addresses[0]}")
          } catch (ioException: IOException) { //Catches network or i/o problems
              errorMessage = getString(R.string.gis_error_service_not_available)
              Log.e(TAG, errorMessage, ioException)
          } catch (illegalArgumentException: IllegalArgumentException) { //Error in latitude or longitude data
              errorMessage = getString(R.string.gis_error_invalid_lat_long_used)
              Log.e(
                  TAG,
                  errorMessage + ". Latitude = " + location.latitude +
                          ", Longitude = " + location.longitude,
                  illegalArgumentException
              )
          }
          //Handles cases where no addresses where found
          if (addresses == null || addresses.isEmpty()) {
              if (errorMessage.isEmpty()) {
                  errorMessage = getString(R.string.gis_error_no_address_found)
                  Log.e(TAG, errorMessage)
              }
              deliverResultToReceiver(FAILURE_RESULT, errorMessage)
          } else {
              val address = addresses[0]
              //deliverAddressToReceiver(SUCCESS_RESULT, address)
              deliverAddressToReceiver2(SUCCESS_ADDRESS,address)
          }
      }
  
      private fun deliverAddressToReceiver2(
          resultCode: Int,
          address: Address
      ){
          val bundle = Bundle()
          bundle.putParcelable("address",address)
          resultReceiver?.send(resultCode,bundle)
      }
  
      private fun deliverResultToReceiver(resultCode: Int, message: String) {
          val bundle = Bundle()
          bundle.putString(RESULT_DATA_KEY, message)
          resultReceiver!!.send(resultCode, bundle)
      }
  
      companion object {
          private const val INTENTTAG = "FetchAddressIS"
      }
  }
  
  </code></pre>
  
  <p>Do anyone have a suggestion how I can replace <code>IntentService</code> with <code>JobIntentService</code> in a good way ?</p>
  
  <p><code>IntentService</code> is deprecated in Android-R / Android-11. </p>
  
  <p>I have tried following some posts on this, but no one is directing the correct path how to change the usability of the IntentService call to JobIntentService call in the way this AddressFetchIntentService is using <code>IntentService</code>.</p>
  
  <p>RG</p>