Arka plan hizmetine çalışma istekleri gönderme

Önceki derste, Arkadaş Bitkiler projesinin JobIntentService sınıfı. Bu Bu derste, JobIntentService ile bir işlemi şu tarihe kadar çalıştırın: işi Intent ile sıraya koyuyor. Bu Intent şunları yapabilir: isteğe bağlı olarak İşlenecek JobIntentService.

İş isteği oluşturma ve JobIntentService'e gönderme

Bir iş isteği oluşturmak ve isteği bir JobIntentService bir Intent oluşturun ve enqueueWork() İsteğe bağlı olarak, JobIntentService'i tıklayın. Amaç oluşturma hakkında daha fazla bilgi için Niyetler ve Amaç Filtreleri'ndeki intent bölümü

Aşağıdaki kod snippet'leri bu işlemi göstermektedir:

  1. Şu öğe için yeni bir Intent oluştur: JobIntentService, RSSPullService adlı kişiyi aradı.

    Kotlin

    /*
     * Creates a new Intent to start the RSSPullService
     * JobIntentService. Passes a URI in the
     * Intent's "data" field.
     */
    serviceIntent = Intent().apply {
        putExtra("download_url", dataUrl)
    }
    

    Java

    /*
     * Creates a new Intent to start the RSSPullService
     * JobIntentService. Passes a URI in the
     * Intent's "data" field.
     */
    serviceIntent = new Intent();
    serviceIntent.putExtra("download_url", dataUrl));
    
  2. Ara: enqueueWork()

    Kotlin

    private const val RSS_JOB_ID = 1000
    RSSPullService.enqueueWork(context, RSSPullService::class.java, RSS_JOB_ID, serviceIntent)
    

    Java

    // Starts the JobIntentService
    private static final int RSS_JOB_ID = 1000;
    RSSPullService.enqueueWork(getContext(), RSSPullService.class, RSS_JOB_ID, serviceIntent);
    

İş isteğini bir Etkinlik veya Parçada herhangi bir yerden gönderebileceğinizi unutmayın. Örneğin, önce kullanıcı girişini almanız gerekiyorsa isteği bir geri arama üzerinden gönderebilirsiniz. bir düğme tıklamasına veya benzer bir harekete yanıt veren bir video reklam içerir.

adlı kişiyi aradığınızda enqueueWork(), JobIntentService, onHandleWork() yöntemini çağırıyor ve daha sonra kendini durduruyor.

Bir sonraki adım, iş talebinin sonuçlarını kaynak Aktiviteye geri bildirmektir veya Parça. Bir sonraki derste, Arkadaş Bitkiler projesinin BroadcastReceiver