Android消息通知-Notification

简介:

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

Notifation概念

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

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

Demo实现

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

 

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

 

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( this 0 , 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);
   

  效果如下:

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

相关文章
|
Android开发 开发者
Android 13 NotificationChannels与Notification的加载流程
Android 13 NotificationChannels与Notification的加载流程
Android 13 NotificationChannels与Notification的加载流程
|
17天前
|
API Android开发
31. 【Android教程】状态栏通知:Notification
31. 【Android教程】状态栏通知:Notification
11 1
|
1月前
|
XML Java Android开发
Android Studio App开发之通知推送Notification的讲解及实战(给用户推送信息实战)
Android Studio App开发之通知推送Notification的讲解及实战(给用户推送信息实战)
366 0
|
Java Android开发 容器
Android8.1 MTK平台 SystemUI源码分析之 Notification流程
Android8.1 MTK平台 SystemUI源码分析之 Notification流程
329 0
|
Android开发
Android Notification消息提示
Android Notification消息提示
94 2
Android Notification消息提示
|
Android开发
Android Socket通讯 之 心跳消息
Android Socket通讯 之 心跳消息
164 0
Android Socket通讯 之 心跳消息
|
Android开发
Android Socket通讯 分离服务端和客户端、发送表情消息
Android Socket通讯 分离服务端和客户端、发送表情消息
115 0
Android Socket通讯 分离服务端和客户端、发送表情消息
|
API Android开发 开发者
Android Notification使用
Android Notification使用
331 0
Android Notification使用
|
Android开发
Android 音乐APP(六)Activity和Notification通讯
Android 音乐APP(六)Activity和Notification通讯
210 0
Android 音乐APP(六)Activity和Notification通讯
|
前端开发 Java 数据库
异步网络下载案例(AsyncTask + 前台Service + OkHttp + Android8.0的Notification适配注意)
异步网络下载案例(AsyncTask + 前台Service + OkHttp + Android8.0的Notification适配注意)