Android消息通知-Notification

Android中常用的消息提醒,一种是Toast弹出提醒内容,一种是AlterDialog弹出框来提醒用户,还有一种就是消息通知的,用Android经常收到各种通知就是Notifation。Notification是一种具有全局效果的通知,展示在屏幕顶端,表现一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容。

Notifation概念

Android很多东西存在版本兼容性问题Android3.0是一个之前在其之前构建Notification推荐使用Notification.Builder构建,Android3.0之后,一般推荐使用NotificationCompat.Builder构建。通知一般通过NotificationManager服务来发送一个Notification对象来完成,NotificationManager是一个重要的系统级服务,该对象位于应用程序的框架层中,应用程序可以通过它像系统发送全局的通知。

这个时候可以先看看要实现的效果:

Android消息通知-Notification

Demo实现

关于Notifation网上也有很多例子,我就写一个简单的,三个按钮,一个发送,一个取消,还有一个就是新版本的写法,看下App:

Android消息通知-Notification

 

通知事件的写法,点击之后的效果就是最开始看到的那张图片:

 

1
2
3
4
5
6
7
8
9
10
11
12
notificationManager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
       Notification notification = new Notification(R.drawable.ic_launcher, "通知", System.currentTimeMillis());
       //如果是已经通知,自动消失
       notification.flags = Notification.FLAG_AUTO_CANCEL;
       //新建一个打电话的意图
       Intent intent = new Intent();
       intent.setAction(Intent.ACTION_CALL);
       intent.setData(Uri.parse("tel:120"));
       //将上面的意图组合到一起
       PendingIntent contentIntent = PendingIntent.getActivity(this0, intent, 0);
       notification.setLatestEventInfo(this"XX**""恭喜你中奖100万", contentIntent);
       notificationManager.notify(100, notification);

 

取消事件:(注意上面的那个通知的ID号是100):

1
notificationManager.cancel(100);

 新版写法直接调用Notifation中的Builder方法即可:

1
2
3
4
5
6
7
8
9
Notification notifation= new Notification.Builder(this)
       .setContentTitle("小官巨腐")
       .setContentText("现金1.2亿,黄金37公斤")
       .setSmallIcon(R.drawable.ic_launcher)
       .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
       .build();
        NotificationManager manger= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        manger.notify(0, notifation);
   

  效果如下:

Android消息通知-Notification

 本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/4100875.html,如需转载请自行联系原作者