Ö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:
-
Ş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));
-
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