En la lección anterior, se mostró cómo crear
JobIntentService
. Esta
en la que se muestra cómo activar el
JobIntentService
para ejecutar una operación
poner el trabajo en cola con un Intent
Este Intent
puede
opcionalmente, los datos de la
JobIntentService
para procesar.
Cómo crear una solicitud de trabajo y enviarla a un elemento JobIntentService
Para crear una solicitud de trabajo y enviarla a un
JobIntentService
:
crea una Intent
y ponla en cola para
se ejecutará llamando a
enqueueWork()
.
De manera opcional, puedes agregar datos al intent (en forma de extras de intents) para el
JobIntentService. Para obtener más información sobre la creación de intents, lee el artículo
Sección de intents en Intents y filtros de intents
En los siguientes fragmentos de código, se demuestra este proceso:
-
Crea un
Intent
nuevo para laJobIntentService
llamadoRSSPullService
.
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));
-
Llamar a
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);
Ten en cuenta que puedes enviar la solicitud de trabajo desde cualquier lugar de un objeto Activity o Fragment. Por ejemplo, si necesitas obtener la entrada del usuario primero, puedes enviar la solicitud desde una devolución de llamada. que responda a un clic en un botón o a un gesto similar.
Cuando llames a
enqueueWork()
,
el
JobIntentService
realiza el trabajo definido en su
onHandleWork()
y luego se detiene a sí mismo.
El siguiente paso es informar los resultados de la solicitud de trabajo a la Activity de origen
o Fragment. En la próxima lección, se muestra cómo hacerlo con una
BroadcastReceiver