Android broadcast receiver tutorial

maamirfarooq 154 views 17 slides Oct 28, 2017
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

Android broadcast receiver


Slide Content

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 1/17
A m c T n h c B T n C c E C r s 4 d E d h u d T -
S t s n T h C N
/ a r s 9 o g e l c 2 0 1 4 2 0 1 6 v o g e l l a * m E + b ? b 9 e r s i o n 3 . 1 b
2 7 . 0 6 . 2 0 1 6
S C a N d n e & n m s d m s r
1 . B T n C c E C r s T d E d h u d T
2 . R [ r s d l a T n C c E C r s r
3 . A t s n l C s h E C N N [ r s C T s h m I R d T u h E d r e T n l C 4 d E d h u d T r
4 . ( w d T E h r d : 4 d I h r s d T C T d E d h u d T e n T h m E n l h m I o g n m d E C N N r
5 . ( w d T E h r d : R [ r s d l r d T u h E d r C m c T d E d h u d T
6 . ' [ m C l h E a T n C c E C r s T d E d h u d T T d I h r s T C s h n m
7 . A a n t s s g h r v d a r h s d
8 . . h m M r C m c . h s d T C s t T d
A o o d m c h w A : & n o [ T h I g s C m c . h E d m r d
8 s i n g B r o a d c a s t r e c e i v e r s i n A n d r o i d . T h i s t u t o r i a l
d e s c r i E e s h o w t o c r e a t e a n d c o n s u m e E r o a d c a s t
r e c e i v e r s i n A n d r o i d .
1 . B T n C c E C r s T d E d h u d T
1 . 1 . ' d ? m h s h n m
A E r o a d c a s t r e c e i v e r r e c e i v e r i s a n A n d r o i d c o m p o n e n t
w h i c h a l l o w s \ o u t o r e g i s t e r I o r s \ s t e m o r a p p l i c a t i o n
e v e n t s . A l l r e g i s t e r e d r e c e i v e r s I o r a n e v e n t a r e n o t i I i e d E \
t h e A n d r o i d r u n t i m e o n c e t h i s e v e n t h a p p e n s .
) o r e [ a m p l e a p p l i c a t i o n s c a n r e g i s t e r I o r t h e
A & T , 2 1 B B 2 2 T B & 2 0 3 / ( T ( ' s \ s t e m e v e n t w h i c h i s I i r e d o n c e
t h e A n d r o i d s \ s t e m h a s c o m p l e t e d t h e E o o t p r o c e s s .
1 . 2 . ? l o N d l d m s C s h n m
A r e c e i v e r c a n E e r e g i s t e r e d v i a t h e A n d r o i d 0 a n i I e s t . [ m l
I i l e .
A l t e r n a t i v e l \ t o t h i s s t a t i c r e g i s t r a t i o n \ o u c a n a l s o
r e g i s t e r a r e c e i v e r d \ n a m i c a l l \ v i a t h e

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 2/17
r e g i s t e r a r e c e i v e r d \ n a m i c a l l \ v i a t h e
& o n t e [ t . r e g i s t e r R e c e i v e r m e t h o d .
T h e i m p l e m e n t i n g c l a s s I o r a r e c e i v e r e [ t e n d s t h e
B r o a d c a s t R e c e i v e r c l a s s .
, I t h e e v e n t I o r w h i c h t h e E r o a d c a s t r e c e i v e r h a s
r e g i s t e r e d h a p p e n s t h e o n R e c e i v e m e t h o d o I t h e
r e c e i v e r i s c a l l e d E \ t h e A n d r o i d s \ s t e m .
1 . 3 . . h e d E [ E N d n e C a T n C c E C r s T d E d h u d T
A I t e r t h e o n R e c e i v e o I t h e r e c e i v e r c l a s s h a s I i n i s h e d
t h e A n d r o i d s \ s t e m i s a l l o w e d t o r e c \ c l e t h e r e c e i v e r .
1 . 4 . A r [ m E g T n m n t r o T n E d r r h m I
B e I o r e A 3 , l e v e l 1 1 \ o u c o u l d n o t p e r I o r m a n \
a s \ n c h r o n o u s o p e r a t i o n i n t h e o n R e c e i v e m e t h o d
E e c a u s e o n c e t h e o n R e c e i v e m e t h o d h a d E e e n I i n i s h e d
t h e A n d r o i d s \ s t e m w a s a l l o w e d t o r e c \ c l e t h a t c o m p o n e n t .
, I \ o u h a v e p o t e n t i a l l \ l o n g r u n n i n g o p e r a t i o n s \ o u
s h o u l d t r i g g e r a s e r v i c e i n s t e a d .
S i n c e A n d r o i d A 3 , 1 1 \ o u c a n c a l l t h e g o A s \ n c m e t h o d .
T h i s m e t h o d r e t u r n s a n o E M e c t o I t h e 3 e n d i n g R e s u l t t \ p e .
T h e A n d r o i d s \ s t e m c o n s i d e r s t h e r e c e i v e r a s a l i v e u n t i l
\ o u c a l l t h e 3 e n d i n g R e s u l t . I i n i s h o n t h i s o E M e c t . : i t h
t h i s o p t i o n \ o u c a n t r i g g e r a s \ n c h r o n o u s p r o c e s s i n g i n a
r e c e i v e r . A s s o o n a s t h a t t h r e a d h a s c o m p l e t e d i t s t a s N c a l l s
I i n i s h t o i n d i c a t e t o t h e A n d r o i d s \ s t e m t h a t t h i s
c o m p o n e n t c a n E e r e c \ c l e d .
1 . 5 . 4 d r s T h E s h n m r e n T c d ? m h m I a T n C c E C r s
T d E d h u d T
A s o I A n d r o i d 3 . 1 t h e A n d r o i d s \ s t e m e [ c l u d e s a l l r e c e i v e r
I r o m r e c e i v i n g i n t e n t s E \ d e I a u l t i I t h e c o r r e s p o n d i n g
a p p l i c a t i o n h a s n e v e r E e e n s t a r t e d E \ t h e u s e r o r i I t h e
u s e r e [ p l i c i t l \ s t o p p e d t h e a p p l i c a t i o n v i a t h e A n d r o i d
m e n u i n 0 a n a g e b▸ Application .
This is an additional securit\ Ieature as the user can Ee
sure that onl\ the applications he started will receive
Eroadcast intents.

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 3/17
NOW Hiring
(http://www.vogella.com/jobs/)
P T ? C - . ? 0 - R
09 OCT - RCP
Training
(http://www.vogella.com/training/eclipse/eclipsercp.html)
23 OCT - Android
Development
(http://www.vogella.com/training/android/androidprofessional.html)
vogella Training
(http://www.vogella.com/training/)
vogella Books
(http://www.vogella.com/books/index.html)
RHA4(

b r o a d c a s t i n t e n t s .
?
T h i s d o e s n o t m e a n t h e u s e r h a s t o s t a r t t h e
a p p l i c a t i o n a g a i n a f t e r a r e b o o t . T h e
A n d r o i d s y s t e m r e m e m b e r s t h a t t h e u s e r
a l r e a d y s t a r t e d i t . O n l y o n e s t a r t i s r e T u i r e d
w i t h o u t a f o r c e d s t o p b y t h e u s e r .
1 . 6 . R d m c s g d a T n C c b C r s s n x n t T C o o k h b C s h n m
e n T s d r s h m f
< o u c a n u s e t h e f o l l o w i n g c o m m a n d f r o m t h e a d b
c o m m a n d l i n e t o o l . T h e c l a s s n a m e a n d p a c k a g e n a m e s
w h i c h a r e t a r g e t e d v i a t h e c o m m a n d l i n e t o o l n e e d t o b e a s
d e f i n e d i n t h e m a n i f e s t . < o u s h o u l d s e n d t h e i n t e n t y o u
g e n e r a t e d t o y o u r s p e c i f i c c o m p o n e n t f o r e x a m p l e i f y o u
s e n d a g e n e r a l A C T , O N B B O O T B C O 0 P / ( T ( D b r o a d c a s t t h i s
w i l l t r i g g e r a l o t o f t h i n g s i n a n A n d r o i d s y s t e m .
1 . 7 . O d m c h m f ? m s d m s
A p e n d i n g i n t e n t i s a t o k e n t h a t y o u g i v e t o a n o t h e r
a p p l i c a t i o n . ) o r e x a m p l e t h e n o t i f i c a t i o n m a n a g e r a l a r m
m a n a g e r o r o t h e r 3 r d p a r t y a p p l i c a t i o n s ) . T h i s a l l o w s t h e
o t h e r a p p l i c a t i o n t o r e s t o r e t h e p e r m i s s i o n s o f y o u r
a p p l i c a t i o n t o e x e c u t e a p r e d e f i n e d p i e c e o f c o d e .
T o p e r f o r m a b r o a d c a s t v i a a p e n d i n g i n t e n t g e t a
P e n d i n g , n t e n t v i a t h e g e t B r o a d c a s t ( ) m e t h o d o f t h e
P e n d i n g , n t e n t c l a s s . T o p e r f o r m a n a c t i v i t y v i a a p e n d i n g
i n t e n t y o u r e c e i v e t h e a c t i v i t y v i a
P e n d i n g , n t e n t . g e t A c t i v i t y ( ) .
2 . R x r s d l a T n C c b C r s r
t r i g g e r a b r o a d c a s t a n d d e l i v e r i t t o a c o m p o n e n t
a d b s h e l l a m a c t i v i t y / s e r v i c e / b r o a d c a s t - a A C T , O N - c
C A T ( * O R < - n N A 0 (
f o r e x a m p l e ( t h i s g o e s i n t o o n e l i n e )
a d b s h e l l a m b r o a d c a s t - a
a n d r o i d . i n t e n t . a c t i o n . B O O T B C O 0 P / ( T ( D - c
a n d r o i d . i n t e n t . c a t e g o r y . H O 0 ( - n
p a c k a g e B n a m e / c l a s s B n a m e
- A 9 A
Tutorials(http://www.vogella.com/tutorials/)Training(http://www.vogella.com/training/)
Consulting(http://www.vogella.com/consulting/)Downloads(http://www.vogella.com/downloads/)
Books(http://www.vogella.com/books/)Company(http://www.vogella.com/company/)Donate(http://www.vogella.com/support.html)
Contact us(http://www.vogella.com/contact.html)
( h t t p : / / w w w . v o g e l l a . c o m )
Search

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 4/17
2 . R [ r s d l a T n C c E C r s r
S e v e r a l s \ s t e m e v e n t s a r e d e I i n e d a s I i n a l s t a t i c I i e l d s i n
t h e , n t e n t c l a s s . 2 t h e r A n d r o i d s \ s t e m c l a s s e s a l s o d e I i n e
e v e n t s e . g . t h e T e l e p h o n \ 0 a n a g e r d e I i n e s e v e n t s I o r t h e
c h a n g e o I t h e p h o n e s t a t e .
T h e I o l l o w i n g t a E l e l i s t s a I e w i m p o r t a n t s \ s t e m e v e n t s .
T a E l e 1 . S \ s t e m ( v e n t s
( v e n t ' e s c r i p t i o n
, n t e n t . A & T , 2 1 B B 2 2 T B & 2 0
3 / ( T ( '
B o o t c o m p l e t e d . R e T u i r e s
t h e
a n d r o i d . p e r m i s s i o n . R ( & (
, 9 ( B B 2 2 T B & 2 0 3 / ( T ( '
p e r m i s s i o n
, n t e n t . A & T , 2 1 B 3 2 : ( R B & 2
1 1 ( & T ( '
3 o w e r g o t c o n n e c t e d t o
t h e d e v i c e .
, n t e n t . A & T , 2 1 B 3 2 : ( R B ' ,
S & 2 1 1 ( & T ( '
3 o w e r g o t d i s c o n n e c t e d t o
t h e d e v i c e .
, n t e n t . A & T , 2 1 B B A T T ( R < B /
2 :
T r i g g e r e d o n l o w E a t t e r \ .
T \ p i c a l l \ u s e d t o r e d u c e
a c t i v i t i e s i n \ o u r a p p
w h i c h c o n s u m e p o w e r .
, n t e n t . A & T , 2 1 B B A T T ( R < B 2
. A <
B a t t e r \ s t a t u s g o o d a g a i n .
3 . A t s n l C s h E C N N [ r s C T s h m I R d T u h E d r
e T n l C 4 d E d h u d T r
A c o m m o n r e T u i r e m e n t i s t o a u t o m a t i c a l l \ s t a r t a s e r v i c e
a I t e r a s \ s t e m r e E o o t i . e . I o r s \ n c h r o n i ] i n g d a t a . ) o r t h i s
\ o u c a n r e g i s t e r a r e c e i v e r I o r t h e
a n d r o i d . i n t e n t . a c t i o n . B 2 2 T B & 2 0 3 / ( T ( ' s \ s t e m e v e n t .
T h i s r e T u i r e s t h e
a n d r o i d . p e r m i s s i o n . R ( & ( , 9 ( B B 2 2 T B & 2 0 3 / ( T ( '
p e r m i s s i o n .
T h e I o l l o w i n g e [ a m p l e d e m o n s t r a t e s t h e r e g i s t r a t i o n I o r

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 5/17
T h e I o l l o w i n g e [ a m p l e d e m o n s t r a t e s t h e r e g i s t r a t i o n I o r
t h e B 2 2 T B & 2 0 3 / ( T ( ' e v e n t i n t h e A n d r o i d m a n i I e s t I i l e .
T h e r e c e i v e w o u l d s t a r t t h e s e r v i c e a s d e m o n s t r a t e d i n t h e
I o l l o w i n g e [ a m p l e c o d e .
" [ m l v e r s i o n 1 . 0 e n c o d i n g u t I - 8 " !
m a n i I e s t
[ m l n s : a n d r o i d h t t p : / / s c h e m a s . a n d r o i d . c o m / a p N / r e s / a n d r
o i d
p a c N a g e d e . v o g e l l a . a n d r o i d . o w n s e r v i c e . l o c a l
a n d r o i d : v e r s i o n & o d e 1
a n d r o i d : v e r s i o n 1 a m e 1 . 0 !
u s e s - s d N a n d r o i d : m i n S d N 9 e r s i o n 1 0 / !
u s e s - p e r m i s s i o n
a n d r o i d : n a m e a n d r o i d . p e r m i s s i o n . R ( & ( , 9 ( B B 2 2 T B & 2 0 3 / ( T (
' / !
a p p l i c a t i o n
a n d r o i d : i c o n # d r a w a E l e / i c o n
a n d r o i d : l a E e l # s t r i n g / a p p B n a m e !
a c t i v i t \
a n d r o i d : n a m e . S e r v i c e & o n s u m e r A c t i v i t \
a n d r o i d : l a E e l # s t r i n g / a p p B n a m e !
i n t e n t - I i l t e r !
a c t i o n
a n d r o i d : n a m e a n d r o i d . i n t e n t . a c t i o n . 0 A , 1 / !
c a t e g o r \
a n d r o i d : n a m e a n d r o i d . i n t e n t . c a t e g o r \ . / A 8 1 & + ( R / !
/ i n t e n t - I i l t e r !
/ a c t i v i t \ !
r e c e i v e r a n d r o i d : n a m e 0 \ S c h e d u l e R e c e i v e r !
i n t e n t - I i l t e r !
a c t i o n
a n d r o i d : n a m e a n d r o i d . i n t e n t . a c t i o n . B 2 2 T B & 2 0 3 / ( T ( ' / !
/ i n t e n t - I i l t e r !
/ r e c e i v e r !
r e c e i v e r
a n d r o i d : n a m e 0 \ S t a r t S e r v i c e R e c e i v e r !
/ r e c e i v e r !
/ a p p l i c a t i o n !
/ m a n i I e s t !
; 0 /
i m p o r t a n d r o i d . c o n t e n t . B r o a d c a s t R e c e i v e r
i m p o r t a n d r o i d . c o n t e n t . & o n t e [ t
i m p o r t a n d r o i d . c o n t e n t . , n t e n t
p u E l i c c l a s s 0 \ R e c e i v e r e [ t e n d s B r o a d c a s t R e c e i v e r ^
# 2 v e r r i d e
p u E l i c v o i d o n R e c e i v e & o n t e [ t c o n t e [ t , n t e n t
- A 9 A

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 6/17
?
, I \ o u r a p p l i c a t i o n i s i n s t a l l e d o n t h e S '
c a r d t h e n i t i s n o t a v a i l a E l e a I t e r t h e
a n d r o i d . i n t e n t . a c t i o n . B 2 2 T B & 2 0 3 / ( T ( '
e v e n t . , n t h i s c a s e r e g i s t e r i t I o r t h e
C a n d r o i d . i n t e n t . a c t i o n . A & T , 2 1 B ( ; T ( R 1 A / B
A 3 3 / , & A T , 2 1 S B A 9 A , / A B / ( C e v e n t .
q
R e m e m E e r t h a t a s o I A n d r o i d A 3 , l e v e l 1 1
t h e u s e r n e e d s t o h a v e s t a r t e d t h e
a p p l i c a t i o n a t l e a s t o n c e E e I o r e \ o u r
a p p l i c a t i o n c a n r e c e i v e
a n d r o i d . i n t e n t . a c t i o n . B 2 2 T B & 2 0 3 / ( T ( '
e v e n t s .
4 . ( w d T E h r d : 4 d I h r s d T C T d E d h u d T e n T
h m E n l h m I o g n m d E C N N r
4 . 1 . S C T I d s
, n t h i s e [ e r c i s e \ o u d e I i n e a E r o a d c a s t r e c e i v e r w h i c h
l i s t e n s t o t e l e p h o n e s t a t e c h a n g e s . , I t h e p h o n e r e c e i v e s a
p h o n e c a l l t h e n o u r r e c e i v e r w i l l E e n o t i I i e d a n d l o g a
m e s s a g e .
4 . 2 . & T d C s d o T n i d E s
& r e a t e a n e w p r o M e c t c a l l e d
d e . v o g e l l a . a n d r o i d . r e c e i v e r . p h o n e . A l s o c r e a t e a n
a c t i v i t \ .
T , 3 : R e m e m E e r t h a t \ o u r r e c e i v e r i s o n l \ c a l l e d i I t h e u s e r
s t a r t e d i t o n c e . T h i s r e T u i r e s a n a c t i v i t \ .
4 . 3 . ? l o N d l d m s T d E d h u d T e n T s g d o g n m d
d u d m s
& r e a t e t h e 0 \ 3 h o n e R e c e i v e r c l a s s .
p u E l i c v o i d o n R e c e i v e & o n t e [ t c o n t e [ t , n t e n t
i n t e n t ^
/ / a s s u m e s : o r d S e r v i c e i s a r e g i s t e r e d s e r v i c e
, n t e n t i n t e n t n e w , n t e n t c o n t e [ t
: o r d S e r v i c e . c l a s s
c o n t e [ t . s t a r t S e r v i c e i n t e n t
`
`

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 7/17
4 . 4 . 4 d p t d r s o d T l h r r h n m
A d d t h e a n d r o i d . p e r m i s s i o n . R ( A ' B 3 + 2 1 ( B S T A T (
p e r m i s s i o n t o \ o u r m a n i I e s t I i l e w h i c h a l l o w s \ o u t o l i s t e n
t o s t a t e c h a n g e s i n \ o u r r e c e i v e r . A l s o R e g i s t e r \ o u r
r e c e i v e r i n \ o u r m a n i I e s t I i l e . T h e r e s u l t i n g m a n i I e s t
s h o u l d E e s i m i l a r t o t h e I o l l o w i n g l i s t i n g .
p a c N a g e d e . v o g e l l a . a n d r o i d . r e c e i v e r . p h o n e
i m p o r t a n d r o i d . c o n t e n t . B r o a d c a s t R e c e i v e r
i m p o r t a n d r o i d . c o n t e n t . & o n t e [ t
i m p o r t a n d r o i d . c o n t e n t . , n t e n t
i m p o r t a n d r o i d . o s . B u n d l e
i m p o r t a n d r o i d . t e l e p h o n \ . T e l e p h o n \ 0 a n a g e r
i m p o r t a n d r o i d . u t i l . / o g
p u E l i c c l a s s 0 \ 3 h o n e R e c e i v e r e [ t e n d s
B r o a d c a s t R e c e i v e r ^
# 2 v e r r i d e
p u E l i c v o i d o n R e c e i v e & o n t e [ t c o n t e [ t , n t e n t
i n t e n t ^
B u n d l e e [ t r a s i n t e n t . g e t ( [ t r a s
i I e [ t r a s n u l l ^
S t r i n g s t a t e
e [ t r a s . g e t S t r i n g T e l e p h o n \ 0 a n a g e r . ( ; T R A B S T A T (
/ o g . w 0 < B ' ( B 8 * B T A * s t a t e
i I
s t a t e . e T u a l s T e l e p h o n \ 0 a n a g e r . ( ; T R A B S T A T ( B R , 1 * , 1 * ^
S t r i n g p h o n e 1 u m E e r e [ t r a s

. g e t S t r i n g T e l e p h o n \ 0 a n a g e r . ( ; T R A B , 1 & 2 0 , 1 * B 1 8 0 B ( R
/ o g . w 0 < B ' ( B 8 * B T A * p h o n e 1 u m E e r
`
`
`
`
- A 9 A
" [ m l v e r s i o n 1 . 0 e n c o d i n g u t I - 8 " !
m a n i I e s t
[ m l n s : a n d r o i d h t t p : / / s c h e m a s . a n d r o i d . c o m / a p N / r e s / a n d r
o i d
p a c N a g e d e . v o g e l l a . a n d r o i d . r e c e i v e r . p h o n e
a n d r o i d : v e r s i o n & o d e 1
a n d r o i d : v e r s i o n 1 a m e 1 . 0 !
u s e s - s d N a n d r o i d : m i n S d N 9 e r s i o n 1 5 / !
u s e s - p e r m i s s i o n
; 0 /

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 8/17
4 . 5 . 8 C N h c C s d h l o N d l d m s C s h n m r
, n s t a l l \ o u r a p p l i c a t i o n a n d s i m u l a t e a p h o n e c a l l v i a t h e
A n d r o i d ' e v i c e 0 o n i t o r . 9 a l i d a t e t h a t \ o u r r e c e i v e r i s
c a l l e d a n d l o g s a m e s s a g e t o t h e / o g & a t v i e w .
5 . ( w d T E h r d : R [ r s d l r d T u h E d r C m c
T d E d h u d T
5 . 1 . S C T I d s
, n t h i s c h a p t e r w e w i l l s c h e d u l e a r e c e i v e r v i a t h e A n d r o i d
a l e r t m a n a g e r s \ s t e m s e r v i c e . 2 n c e c a l l e d i t u s e s t h e
A n d r o i d v i E r a t o r m a n a g e r a n d a p o p u p m e s s a g e T o a s t t o
n o t i I \ t h e u s e r .
5 . 2 . ? l o N d l d m s o T n i d E s
& r e a t e a n e w p r o M e c t c a l l e d d e . v o g e l l a . a n d r o i d . a l a r m w i t h
t h e a c t i v i t \ c a l l e d A l a r m A c t i v i t \ .
u s e s - p e r m i s s i o n
a n d r o i d : n a m e a n d r o i d . p e r m i s s i o n . R ( A ' B 3 + 2 1 ( B S T A T ( !
/ u s e s - p e r m i s s i o n !
a p p l i c a t i o n
a n d r o i d : i c o n # d r a w a E l e / i c o n
a n d r o i d : l a E e l # s t r i n g / a p p B n a m e !
a c t i v i t \
a n d r o i d : n a m e . 0 a i n A c t i v i t \

a n d r o i d : l a E e l # s t r i n g / t i t l e B a c t i v i t \ B m a i n !
i n t e n t - I i l t e r !
a c t i o n
a n d r o i d : n a m e a n d r o i d . i n t e n t . a c t i o n . 0 A , 1 / !
c a t e g o r \
a n d r o i d : n a m e a n d r o i d . i n t e n t . c a t e g o r \ . / A 8 1 & + ( R / !
/ i n t e n t - I i l t e r !
/ a c t i v i t \ !
r e c e i v e r a n d r o i d : n a m e 0 \ 3 h o n e R e c e i v e r !
i n t e n t - I i l t e r !
a c t i o n
a n d r o i d : n a m e a n d r o i d . i n t e n t . a c t i o n . 3 + 2 1 ( B S T A T ( !
/ a c t i o n !
/ i n t e n t - I i l t e r !
/ r e c e i v e r !
/ a p p l i c a t i o n !
/ m a n i I e s t !

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 9/17
& r e a t e t h e I o l l o w i n g l a \ o u t .
& r e a t e t h e I o l l o w i n g E r o a d c a s t r e c e i v e r c l a s s . T h i s c l a s s w i l l
g e t t h e v i E r a t o r s e r v i c e .
" [ m l v e r s i o n 1 . 0 e n c o d i n g u t I - 8 " !
/ i n e a r / a \ o u t
[ m l n s : a n d r o i d h t t p : / / s c h e m a s . a n d r o i d . c o m / a p N / r e s / a n d r
o i d
a n d r o i d : l a \ o u t B w i d t h m a t c h B p a r e n t
a n d r o i d : l a \ o u t B h e i g h t m a t c h B p a r e n t
a n d r o i d : o r i e n t a t i o n v e r t i c a l !
( d i t T e [ t
a n d r o i d : i d # i d / t i m e
a n d r o i d : l a \ o u t B w i d t h w r a p B c o n t e n t
a n d r o i d : l a \ o u t B h e i g h t w r a p B c o n t e n t
a n d r o i d : h i n t 1 u m E e r o I s e c o n d s
a n d r o i d : i n p u t T \ p e n u m E e r ' e c i m a l !
/ ( d i t T e [ t !
B u t t o n
a n d r o i d : i d # i d / o N
a n d r o i d : l a \ o u t B w i d t h w r a p B c o n t e n t
a n d r o i d : l a \ o u t B h e i g h t w r a p B c o n t e n t
a n d r o i d : o n & l i c N s t a r t A l e r t
a n d r o i d : t e [ t S t a r t & o u n t e r !
/ B u t t o n !
/ / i n e a r / a \ o u t !
; 0 /
p a c N a g e d e . v o g e l l a . a n d r o i d . a l a r m
i m p o r t a n d r o i d . c o n t e n t . B r o a d c a s t R e c e i v e r
i m p o r t a n d r o i d . c o n t e n t . & o n t e [ t
i m p o r t a n d r o i d . c o n t e n t . , n t e n t
i m p o r t a n d r o i d . o s . 9 i E r a t o r
i m p o r t a n d r o i d . w i d g e t . T o a s t
p u E l i c c l a s s 0 \ B r o a d c a s t R e c e i v e r e [ t e n d s
B r o a d c a s t R e c e i v e r ^
# 2 v e r r i d e
p u E l i c v o i d o n R e c e i v e & o n t e [ t c o n t e [ t , n t e n t
i n t e n t ^
T o a s t . m a N e T e [ t c o n t e [ t ' o n t p a n i N E u t \ o u r
- A 9 A

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 10/17
R e g i s t e r t h i s c l a s s a s a E r o a d c a s t r e c e i v e r i n
A n d r o i d 0 a n i I e s t . [ m l a n d r e T u e s t a u t h o r i ] a t i o n t o v i E r a t e
t h e p h o n e .
T o a s t . m a N e T e [ t c o n t e [ t ' o n t p a n i N E u t \ o u r
t i m e i s u p .
T o a s t . / ( 1 * T + B / 2 1 * . s h o w
/ / 9 i E r a t e t h e m o E i l e p h o n e
9 i E r a t o r v i E r a t o r 9 i E r a t o r
c o n t e [ t . g e t S \ s t e m S e r v i c e & o n t e [ t . 9 , B R A T 2 R B S ( R 9 , & (
v i E r a t o r . v i E r a t e 2 0 0 0
`
`
" [ m l v e r s i o n 1 . 0 e n c o d i n g u t I - 8 " !
m a n i I e s t
[ m l n s : a n d r o i d h t t p : / / s c h e m a s . a n d r o i d . c o m / a p N / r e s / a n d r
o i d
p a c N a g e d e . v o g e l l a . a n d r o i d . a l a r m
a n d r o i d : v e r s i o n & o d e 1
a n d r o i d : v e r s i o n 1 a m e 1 . 0 !
u s e s - s d N a n d r o i d : m i n S d N 9 e r s i o n 1 5 / !
u s e s - p e r m i s s i o n
a n d r o i d : n a m e a n d r o i d . p e r m i s s i o n . 9 , B R A T ( !
/ u s e s - p e r m i s s i o n !
a p p l i c a t i o n
; 0 /

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 11/17
& h a n g e t h e c o d e o I \ o u r A l a r m A c t i v i t \ c l a s s t o t h e
I o l l o w i n g . T h i s a c t i v i t \ c r e a t e s a n i n t e n t t o s t a r t t h e
r e c e i v e r a n d r e g i s t e r t h i s i n t e n t w i t h t h e a l a r m m a n a g e r
s e r v i c e .
a p p l i c a t i o n
a n d r o i d : i c o n # d r a w a E l e / i c o n
a n d r o i d : l a E e l # s t r i n g / a p p B n a m e !
a c t i v i t \
a n d r o i d : n a m e . A l a r m A c t i v i t \
a n d r o i d : l a E e l # s t r i n g / a p p B n a m e !
i n t e n t - I i l t e r !
a c t i o n
a n d r o i d : n a m e a n d r o i d . i n t e n t . a c t i o n . 0 A , 1 / !
c a t e g o r \
a n d r o i d : n a m e a n d r o i d . i n t e n t . c a t e g o r \ . / A 8 1 & + ( R / !
/ i n t e n t - I i l t e r !
/ a c t i v i t \ !
r e c e i v e r a n d r o i d : n a m e 0 \ B r o a d c a s t R e c e i v e r !
/ r e c e i v e r !
/ a p p l i c a t i o n !
/ m a n i I e s t !
p a c N a g e d e . v o g e l l a . a n d r o i d . a l a r m
i m p o r t a n d r o i d . a p p . A c t i v i t \
i m p o r t a n d r o i d . a p p . A l a r m 0 a n a g e r
i m p o r t a n d r o i d . a p p . 3 e n d i n g , n t e n t
i m p o r t a n d r o i d . c o n t e n t . , n t e n t
i m p o r t a n d r o i d . o s . B u n d l e
i m p o r t a n d r o i d . v i e w . 9 i e w
i m p o r t a n d r o i d . w i d g e t . ( d i t T e [ t
i m p o r t a n d r o i d . w i d g e t . T o a s t
p u E l i c c l a s s A l a r m A c t i v i t \ e [ t e n d s A c t i v i t \ ^
/ & a l l e d w h e n t h e a c t i v i t \ i s I i r s t c r e a t e d . /
# 2 v e r r i d e
p u E l i c v o i d o n & r e a t e B u n d l e s a v e d , n s t a n c e S t a t e ^
s u p e r . o n & r e a t e s a v e d , n s t a n c e S t a t e
s e t & o n t e n t 9 i e w R . l a \ o u t . m a i n
- A 9 A

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 12/17
5 . 3 . 8 C N h c C s d h l o N d l d m s C s h n m
R u n \ o u r a p p l i c a t i o n o n t h e d e v i c e . S e t \ o u r t i m e a n d s t a r t
t h e a l a r m . A I t e r t h e d e I i n e d n u m E e r o I s e c o n d s a T o a s t
s h o u l d E e d i s p l a \ e d . . e e p i n m i n d t h a t t h e v i E r a t i o n a l a r m
d o e s n o t w o r N o n t h e A n d r o i d e m u l a t o r .
s e t & o n t e n t 9 i e w R . l a \ o u t . m a i n
`
p u E l i c v o i d s t a r t A l e r t 9 i e w v i e w ^
( d i t T e [ t t e [ t ( d i t T e [ t
I i n d 9 i e w B \ , d R . i d . t i m e
i n t i
, n t e g e r . p a r s e , n t t e [ t . g e t T e [ t . t o S t r i n g
, n t e n t i n t e n t n e w , n t e n t t h i s
0 \ B r o a d c a s t R e c e i v e r . c l a s s
3 e n d i n g , n t e n t p e n d i n g , n t e n t
3 e n d i n g , n t e n t . g e t B r o a d c a s t
t h i s . g e t A p p l i c a t i o n & o n t e [ t
2 3 4 3 2 4 2 4 3 i n t e n t 0
A l a r m 0 a n a g e r a l a r m 0 a n a g e r A l a r m 0 a n a g e r
g e t S \ s t e m S e r v i c e A / A R 0 B S ( R 9 , & (
a l a r m 0 a n a g e r . s e t A l a r m 0 a n a g e r . R T & B : A . ( 8 3
S \ s t e m . c u r r e n t T i m e 0 i l l i s
i 1 0 0 0 p e n d i n g , n t e n t
T o a s t . m a N e T e [ t t h i s A l a r m s e t i n i
s e c o n d s
T o a s t . / ( 1 * T + B / 2 1 * . s h o w
`
`

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 13/17
6 . ' [ m C l h E a T n C c E C r s T d E d h u d T
T d I h r s T C s h n m
6 . 1 . ' [ m C l h E C N N [ T d I h r s d T d c T d E d h u d T
R e c e i v e r c a n E e r e g i s t e r e d v i a t h e A n d r o i d m a n i I e s t I i l e .
< o u c a n a l s o r e g i s t e r a n d u n r e g i s t e r a r e c e i v e r a t r u n t i m e
v i a t h e & o n t e [ t . r e g i s t e r R e c e i v e r a n d
& o n t e [ t . u n r e g i s t e r R e c e i v e r m e t h o d s .
?
' o n o t I o r g e t t o u n r e g i s t e r a d \ n a m i c a l l \
r e g i s t e r e d r e c e i v e r E \ u s i n g
& o n t e [ t . u n r e g i s t e r R e c e i v e r m e t h o d . , I
\ o u I o r g e t t h i s t h e A n d r o i d s \ s t e m r e p o r t s a
l e a N e d E r o a d c a s t r e c e i v e r e r r o r . ) o r
i n s t a n c e i I \ o u r e g i s t e r e d a r e c e i v e i n
o n R e s u m e m e t h o d s o I \ o u r a c t i v i t \ \ o u
s h o u l d u n r e g i s t e r i t i n t h e o n 3 a u s e
m e t h o d .
6 . 2 . T r h m I s g d o C E M C I d l C m C I d T s n c h r C a N d
r s C s h E T d E d h u d T r
< o u c a n u s e t h e 3 a c N a g e 0 a n a g e r c l a s s t o e n a E l e o r d i s a E l e
r e c e i v e r s r e g i s t e r e d i n \ o u r A n d r o i d 0 a n i I e s t . [ m l I i l e .
6 . 3 . R s h E M [ a T n C c E C r s h m s d m s r
A n i n t e n t t o t r i g g e r a r e c e i v e r E r o a d c a s t i n t e n t i s n o t
a v a i l a E l e a n \ m o r e a I t e r i t w a s s e n t a n d p r o c e s s e d E \ t h e
& o m p o n e n t 1 a m e r e c e i v e r n e w & o m p o n e n t 1 a m e c o n t e [ t
m \ R e c e i v e r . c l a s s
3 a c N a g e 0 a n a g e r p m c o n t e [ t . g e t 3 a c N a g e 0 a n a g e r
p m . s e t & o m p o n e n t ( n a E l e d S e t t i n g r e c e i v e r
3 a c N a g e 0 a n a g e r . & 2 0 3 2 1 ( 1 T B ( 1 A B / ( ' B S T A T ( B ( 1 A B / ( '
3 a c N a g e 0 a n a g e r . ' 2 1 T B . , / / B A 3 3
- A 9 A

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 14/17
s \ s t e m . , I \ o u u s e t h e s e n d S t i c N \ B r o a d c a s t , n t e n t
m e t h o d t h e c o r r e s p o n d i n g i n t e n t i s s t i c N \ m e a n i n g t h e
i n t e n t \ o u a r e s e n d i n g s t a \ s a r o u n d a I t e r t h e E r o a d c a s t i s
c o m p l e t e .
T h e A n d r o i d s \ s t e m u s e s s t i c N \ E r o a d c a s t I o r c e r t a i n
s \ s t e m i n I o r m a t i o n . ) o r e [ a m p l e t h e E a t t e r \ s t a t u s i s s e n d
a s s t i c N \ i n t e n t a n d c a n g e t r e c e i v e d a t a n \ t i m e . T h e
I o l l o w i n g e [ a m p l e d e m o n s t r a t e s t h a t .
/ / R e g i s t e r I o r t h e E a t t e r \ c h a n g e d e v e n t
, n t e n t ) i l t e r I i l t e r n e w
, n t e n t ) i l t e r , n t e n t . A & T , 2 1 B B A T T ( R < B & + A 1 * ( '
/ , n t e n t i s s t i c N \ s o u s i n g n u l l a s r e c e i v e r w o r N s
I i n e
/ / r e t u r n v a l u e c o n t a i n s t h e s t a t u s
, n t e n t E a t t e r \ S t a t u s t h i s . r e g i s t e r R e c e i v e r n u l l
I i l t e r
/ / A r e w e c h a r g i n g / c h a r g e d "
i n t s t a t u s
E a t t e r \ S t a t u s . g e t , n t ( [ t r a B a t t e r \ 0 a n a g e r . ( ; T R A B S T A T 8 S
- 1
E o o l e a n i s & h a r g i n g s t a t u s
B a t t e r \ 0 a n a g e r . B A T T ( R < B S T A T 8 S B & + A R * , 1 *
_ _ s t a t u s B a t t e r \ 0 a n a g e r . B A T T ( R < B S T A T 8 S B ) 8 / /
E o o l e a n i s ) u l l s t a t u s
B a t t e r \ 0 a n a g e r . B A T T ( R < B S T A T 8 S B ) 8 / /
/ / + o w a r e w e c h a r g i n g "
- A 9 A

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 15/17
< o u c a n r e t r i e v e t h a t d a t a t h r o u g h t h e r e t u r n v a l u e o I
r e g i s t e r R e c e i v e r B r o a d c a s t R e c e i v e r , n t e n t ) i l t e r
C . T h i s a l s o w o r N s I o r a n u l l C B r o a d c a s t R e c e i v e r .
, n a l l o t h e r w a \ s t h i s E e h a v e s M u s t a s
s e n d B r o a d c a s t , n t e n t .
S t i c N \ E r o a d c a s t i n t e n t s t \ p i c a l l \ r e T u i r e s p e c i a l
p e r m i s s i o n s .
7 . A a n t s s g h r v d a r h s d
R t o o n T s e T d d
E n m s d m s
h t t p : / / w w w . v o g e l l a . c o m / s u p p o r t . h t m l
3 t d r s h n m r C m c
c h r E t r r h n m
h t t p : / / w w w . v o g e l l a . c o m / c o n t a c t . h t m l
S t s n T h C N E n c d
Nh E d m r d
h t t p : / / w w w . v o g e l l a . c o m / l i c e n s e . h t m l
* d s s g d r n t T E d
E n c d
h t t p : / / w w w . v o g e l l a . c o m / c o d e / i n d e [ . h t m l
8 . . h m M r C m c . h s d T C s t T d
8 . 1 . A m c T n h c 4 d r n t T E d r
A n d r o i d ' e v e l o p m e n t T u t o r i a l
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d / a r t i c l e . h t m l
A n d r o i d / i s t 9 i e w a n d / i s t A c t i v i t \
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d / i s t 9 i e w / a r t i c l e . h t m l
A n d r o i d / o c a t i o n A 3 , a n d * o o g l e 0 a p s
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d / o c a t i o n A 3 , / a r t i c l e . h t m l
A n d r o i d , n t e n t s
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d , n t e n t / a r t i c l e . h t m l
A n d r o i d a n d 1 e t w o r N i n g
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d 1 e t w o r N i n g / a r t i c l e . h t m l
A n d r o i d B a c N g r o u n d p r o c e s s i n g w i t h T h r e a d s a n d
A s \ n c h r o n o u s T a s N
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d B a c N g r o u n d 3 r o c e s s i n g / a r t i c l e . h t m l
/ / + o w a r e w e c h a r g i n g "
i n t c h a r g e 3 l u g
E a t t e r \ S t a t u s . g e t , n t ( [ t r a B a t t e r \ 0 a n a g e r . ( ; T R A B 3 / 8 * * ( '
- 1
E o o l e a n u s E & h a r g e c h a r g e 3 l u g
B a t t e r \ 0 a n a g e r . B A T T ( R < B 3 / 8 * * ( ' B 8 S B
E o o l e a n a c & h a r g e c h a r g e 3 l u g
B a t t e r \ 0 a n a g e r . B A T T ( R < B 3 / 8 * * ( ' B A &

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 16/17
h t t p : / / w w w . v o g e l l a . c o m / t u t o r i a l s / A n d r o i d B a c N g r o u n d 3 r o c e s s i n g / a r t i c l e . h t m l
R e m o t e 0 e s s e n g e r S e r v i c e I r o m * o o g l e
h t t p : / / d e v e l o p e r . a n d r o i d . c o m / r e I e r e n c e / a n d r o i d / a p p / S e r v i c e . h t m l R e m o t e 0 e s s e n g e r S e r v i c e S a m p l e
8 . 2 . u n I d N N C * l a + s T C h m h m I C m c E n m r t N s h m I
r t o o n T s
T R A , 1 , 1 *
h t t p : / / w w w . v o g e l l a . c o m / t r a i
n i n g /
S ( R 9 , & ( S 8 3 3 2 R T
h t t p : / / w w w . v o g e l l a . c o m / c o n
s u l t i n g /
T h e v o g e l l a c o m p a n \
p r o v i d e s c o m p r e h e n s i v e
t r a i n i n g a n d e d u c a t i o n
s e r v i c e s
h t t p : / / w w w . v o g e l l a . c o m / t r a i n i
n g /
I r o m e [ p e r t s i n t h e a r e a s
o I ( c l i p s e R & 3 A n d r o i d
* i t - a v a * r a d l e a n d
S p r i n g . : e o I I e r E o t h
p u E l i c a n d i n h o u s e
t r a i n i n g . : h i c h e v e r
c o u r s e \ o u d e c i d e t o t a N e
\ o u a r e g u a r a n t e e d t o
e [ p e r i e n c e w h a t m a n \
E e I o r e \ o u r e I e r t o a s ? T h e
E e s t , T c l a s s , h a v e e v e r
a t t e n d e d ?
h t t p : / / w w w . v o g e l l a . c o m / t r a i n i
n g /
.
T h e v o g e l l a c o m p a n \
o I I e r s e [ p e r t c o n s u l t i n g
h t t p : / / w w w . v o g e l l a . c o m / c o n s u
l t i n g /
s e r v i c e s d e v e l o p m e n t
s u p p o r t a n d c o a c h i n g . 2 u r
c u s t o m e r s r a n g e I r o m
) o r t u n e 1 0 0 c o r p o r a t i o n s
t o i n d i v i d u a l d e v e l o p e r s .
A o o d m c h w A : & n o [ T h I g s C m c . h E d m r d
& o p \ r i g h t k 2 0 1 2 - 2 0 1 7 v o g e l l a * m E + . ) r e e u s e o I t h e
s o I t w a r e e [ a m p l e s i s g r a n t e d u n d e r t h e t e r m s o I t h e ( 3 /
/ i c e n s e . T h i s t u t o r i a l i s p u E l i s h e d u n d e r t h e & r e a t i v e
& o m m o n s A t t r i E u t i o n - 1 o n & o m m e r c i a l - S h a r e A l i N e 3 . 0
* e r m a n \
h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / E \ - n c - s a / 3 . 0 / d e / d e e d . e n
l i c e n s e .
S e e / i c e n c e h t t p : / / w w w . v o g e l l a . c o m / l i c e n s e . h t m l .

10/3/2017 Android BroadcastReceiver - Tutorial
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html 17/17
S e e / i c e n c e h t t p : / / w w w . v o g e l l a . c o m / l i c e n s e . h t m l .
9 e r s i o n 3 . 1
/ a s t u p d a t e d 2 0 1 7 - 0 7 - 1 1 2 2 : 3 7 : 3 5 0 2 : 0 0