Service:
private NotificationManager manager;
manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
private void showNotification(String beaconid) {
TaskStackBuilder stackBuilder = TaskStackBuilder.create(getApplicationContext());
// Adds the back stack
stackBuilder.addParentStack(MainActivity.class);
// Adds the Intent to the top of the stack
Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class);
Bundle bundle = new Bundle();
bundle.putString("bid", beaconid);
resultIntent.putExtras(bundle);
stackBuilder.addNextIntent(resultIntent);
// Gets a PendingIntent containing the entire back stack
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification = new Notification.Builder(getApplicationContext())
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("Buzz Exhibition")
.setContentInfo("Go")
.setContentTitle("展品信息")
.setContentText(String.format("您正在浏览展品No.%s,请点击查看详细介绍", beaconid))
.setContentIntent(resultPendingIntent)
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.build();
manager.notify(0, notification);
}
MainActivity:
Bundle bundle = this.getIntent().getExtras();
if (bundle != null) {
if (bundle.containsKey("bid")) {
showImage(bundle.getString("bid"));
}
}
Ref:Android Notification 的总结分析
Ref:Android 通知之Notification
Ref:Android Notification完全解析