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.