
BroadcastReceiver
MultiUni
Tr n Vũ T t Bìnhầ ấ

T ng quanổ
•BroadcastReceiver (có th g i là Receiver là ể ọ
m t trong b n lo i thành ph n trong ng ộ ố ạ ầ ứ
d ng Android. Ch c năng dùng đ nh n các ụ ứ ể ậ
s ki n mà các ng d ng ho c h th ng phát ự ệ ứ ụ ặ ệ ố
đi.
•Có 2 cách phát-nh n đó là:ậ
–Không có th t : receiver nào đ đi u ki n thì ứ ự ủ ề ệ
nh n h t, không phân bi t và cũng tách r i nhau.ậ ế ệ ờ
–Có th t : receiver nào đăng ký u tiên h n thì ứ ự ư ơ
nh n tr c, và có th truy n thêm thông tin x lý ậ ướ ể ề ử
cho các receiver sau.

Lifecycle
•Th c ra lifecycle c a BroadcastReceiver ch ự ủ ỉ
có duy nh t m t ph ng th c onReceive().ấ ộ ươ ứ
–Khi có s ki n mà BroadcastReceiver đã đăng ký ự ệ
nh n đ c phát đi, thì ph ng th c onReceive() ậ ượ ươ ứ
c a BroadcastReceiver đó s đ c g i.ủ ẽ ượ ọ
–Sau khi th c thi xong ph ng th c này, lifercycle ự ươ ứ
c a Receiver k t thúc.ủ ế

L u ý khi s d ngư ử ụ
•Ngay khi onReceive() k t thúc, h th ng coi ế ệ ố
nh receiver đã không còn ho t đ ng và có ư ạ ộ
th kill process ch a receiver này b t c lúc ể ứ ấ ứ
nào.
Tránh x lý các code quá lâu trong onReceive().ử
Không có x lý b t đ ng b , ch callback… ử ấ ồ ộ ờ
trong Receiver (c th nh hi n th Dialog, k t n i ụ ể ư ể ị ế ố
service…)


