Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 13

Lp trnh Android

Gii thiu v
Broadcast Receiver
trong Android,
Notification
Bi
54

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Ni dung bi hc

Cng dng ca BroadCast Receiver,


cc thuc tnh thnh phn .
Kt hp iu khin Notification
hin th thng bo dng Service

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Broadcast Receiver: c s dng nhn nhng Intent message

c gi t sendBroadcast() hoc t h thng.

ng k i tng ca Broadcast receiver, s dng 2 cch:


ng k ng vi phng thc
Context.registerReceiver()
ng k trong Manifest.xml thng qua
<receiver/>

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

C 2 thnh phn chnh ca Broadcast c th nhn Intent


Normal broadcasts: thc hin gi theo c ch khng ng b, cc
Receiver thc thi khng theo th t nht nh. S dng phng thc
sendBroadcast().
Ordered broadcasts: Vo mi thi im ch gi n mt broadcast v
s dng phng thc sendOrderedBroadcast().

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Vng i ca Broadcast Receiver


Broadcast ch hot ng trong thi gian onReceive() c gi, v khi
kt thc hm ny, th broadcast hon thnh v khng cn hot
ng na.
S cung cp quyn
Ch Broadcast receiver c cung cp quyn mi c th nhn nhng
intent gi i.

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

To Broadcast Receiver:

public class MyBroadcastReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {
//To do thing
}
}

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Khai bo v ng k Broadcast Receiver

IntentFilter filter = new IntentFilter(Filter) ;

Bng coding

receiver = new MyBroadcastReceiver();


registerReceiver(receiver, filter);

Bng
Manifest

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Hy ng k cho Broadcast
unregisterReceiver(receiver);

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Notificat
ion
Dng thng bo trn thanh trng thi ca Android Device (thng
dng ch chy Background)

Biu
tng

Ni dung thng
bo

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Tiu thng
bo

Lp trnh Android

Bc 1: To
Builder
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("C thng bo")
.setContentText("Mi bn nhn cp nht version");
Bc 2: To Pending
IntentIntent resultIntent = new Intent(this, XYZActivity.class);
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
this,
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Bc 3: Gn cc thnh phn
cho Builder
mBuilder.setContentIntent(resultPendingIntent);
/*Uri uri=
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATIO
N);
mBuilder.setSound(uri);*/
Uri newSound= Uri.parse("android.resource://"
+ getPackageName() + "/" + R.raw.gaugau);
mBuilder.setSound(newSound);

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

Bc 4: Kch hot Notification thng qua


NotificationManager
int mNotificationId = 001;
// Gets an instance of the NotificationManager service
NotificationManager mNotifyMgr =
(NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify(mNotificationId, mBuilder.build());

Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

Lp trnh Android

END
Ths. Trn Duy Thanh duythanhcse@gmail.com 0987773061 http://duythanhcse.wordpress.com

You might also like