Sobes.tech
Junior — Middle

Hoe kunt u de werkingstijd van BroadcastReceiver in Android verlengen?

sobes.tech AI

Antwoord van AI

BroadcastReceiver in Android werkt standaard maar heel kort — zolang de onReceive() methode wordt uitgevoerd. Om de duur te verlengen, kun je:

  • Een achtergronddienst (Service) starten vanuit onReceive(), die langdurige operaties uitvoert.
  • goAsync() gebruiken binnen onReceive() om een PendingResult te krijgen en de verwerking later te voltooien, door finish() aan te roepen na afloop.

Voorbeeld met goAsync():

public void onReceive(Context context, Intent intent) {
    final PendingResult pendingResult = goAsync();
    new Thread(() -> {
        // Lange operatie
        // ...
        pendingResult.finish();
    }).start();
}

Op deze manier kun je de tijdslimiet in onReceive() vermijden en taken langer uitvoeren.