Post on 26-May-2015
Razvan Prejbeanu
Eduard Dorobanțu
Alarms and
Broadcast Receivers
Cuprins
• AlarmManager
o Scop
o Implementare
o Rezultate obtinute
• BroadcastReceiver o Scop
o Implementare
o Rezultate obtinute
• Putting them together
• Concluzii
Alarm Manager
- Scop -
• Pentru a rula cod la un moment de timp specific,
fara a-l lega de o activitate a aplicatiei
• Pentru a programa operatii la intervale de timp
• Pentru a ne asigura ca o zona de cod se executa
atomic ( se obtine un wake lock asupra sistemului)
Alarm Manager
- Implementare -
• Clasa AlarmManager - acces la Android
AlarmService
• Alarme one-time sau repeating
• La timpul prestabilit - Intent trimis in sistem (prins
de BroadcastReceiver, Service sau Activity)
• 4 tipuri de alarme:
o RTC
o RTC_WAKEUP
o ELAPSED_REALTIME
o ELAPSED_REALTIME_WAKEUP
- Implementare (2) -
Obtinerea unei instante:
One time alarm:
Repeating Alarms:
o setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation )
o setInexactRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent
operation )
Oprirea unei alarme repetitive:
- Implementare (3) -
Alarm Manager
- Rezultate obținute -
• Show notification
• Start service
• Start Activity
• Trigger Broadcast Receiver
Broadcast Receivers
- Scop -
• Extind clasa BroadcastReceiver
• Recepționeaza si reacționeaza la primirea
anunțurilor de tip Broadcast
Broadcast Receivers
- Implementare -
• Extindere clasa BroadcastReceiver
• Inregistrare receiver in AndroidManifest o numele clasei
o intent-filter - acele Intents la care asculta receiver-ul
• Se recepționează Broadcast Intents prin metoda onReceive()
din BroadcastReceiver
• Se trimit Broadcasts prin sendBroadcast(Intent sourceIntent):
- Implementare (2) -
Broadcast Receivers
- Rezultate obținute -
• Sunt receptionate diverse stări ale serviciilor
telefonului:
o low battery
o power connected
o shutdown
o receiving phone call
Putting them together
• Alarm Manager inițiaza Broadcast o sendBroadcast();
• Broadcast Receiver recepționeaza anunțul
de tip Broadcast
o receiveBroadcast();
• Broadcast Receiver reacționeaza și rezolva
acest tip de anunț
Concluzii
• Folosite pentru creearea unei aplicații ce
amintește utilizatorului de existența si de
modificările sale
Documentatie
• http://www.developer.android.com
• http://www.vogella.com/articles/AndroidBroadcastRecei
ver/article.html
• http://www.androidcompetencycenter.com/2009/02/andr
oid-basics-alarm-service