获得推送创建通知的相关内容
来源:互联网 发布:mac系统pdf编辑软件 编辑:程序博客网 时间:2024/06/05 06:47
现在越来越多的app当中运用到了消息推送的功能,接收并解析完消息后一般需要点击在通知栏显示出来并可被点击。根据这样的业务逻辑,我总结了一下获取到推送消息显示到通知栏并可被点击的操作:
方法一:
API 11以下:
1.新建一个notificationManager的对象
NotificationManager manager = context.getSystemService(Context.NOTIFICATION_SERVICE);
2.新建一个notification对象
Notification no = new Notification(icon, tickerText, when);
参数解析:icon是显示的图片,tickerText是在通知栏闪烁显示的文字 ,when何时显示,以当前时间为基线。
3.notification的相关设置
notification.flags = Notification.FLAG_AUTO_CANCEL;// 点击自动清除通知
notification.defaults = Notification.DEFAULT_ALL;//设置消息到来的时候是否有铃声 是否振动
4.设置notification的点击事件----启动一个activity,此处的activity要设置 new-Task
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,intent, PendingIntent.FLAG_UPDATE_CURRENT);
参数解析:context是当前界面的上下文 ,requestcode是请求码,一般用不到,intent是点击要执行的操作。
notification.setLatestEventInfo(context, title, content, contentIntent);
设置notification的点击事件,title为通知的标题,content为通知的内容。
5.将通知显示出来
manager.notify(id,notification)
参数解析:id为通知的id。
第二种方法:API在11以上 使用的是Notification.Builder;
1.创建NotifictionManager的对象,用来管理notification
NotificationManager manager = context.getSystemService(Context.NOTIFICATION_SERVICE);
2.创建notification创建者的对象并进行设置。
Notification.Builder builder = new Notification.Builder(context).setTicker(显示于屏幕顶端状态栏的文本").setSmallIcon();
设置在导航栏显示的文字跟图标
3.设置notification的点击事件
Intent intent = new Intent(context,ActivityXXX.class);
intent.setFlags(Intent.FLAG_New_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(上下文,请求码,intent,PendingIntent.FLAG_UPDATE_CURRENT);
4.设置nofication显示的样式
//系统样式
Notification note = builder.setContentIntent(pendingIntent).setTitle(title).setContentText(content).build();
//自定义样式:
RemoteView view = new RemoteView(context.getPackageName(),R.layout,XXX);
5.显示出notification
manager.notify(id,note);
第三种方法:也是使用的是Notification builder
1.创建Notification的管理器
NotificationManager manager = context.getSystemService(Context.NOTIFICATION_SERVICE);
2.创建notification的创建者
Notification.Builder builder = new Notification.Builder(context).setTicker().setSmallIcan();
3.设置Notification的点击事件
Intent intent = new Intent();
intent.setClass(MainActivity.this,XXXActivity.class);
intent.setFlags(Intent.FLAG_New_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(上下文,请求码,intent,PendingIntent.FLAG_UPDATE_CURRENT);
4.设置notification的样式 此处用的是自定义的样式
RemoteViews view = new RemoteViews(context.getPackageName(),R.layout,XXX);
note.contentView = view;
note.contentIntent = pendingIntent;
5.显示出notification
manager.notify(id,note);
OK,结束了。。。以后有机会再补充,上传源码。
- 获得推送创建通知的相关内容
- APNS推送通知如何获得推送的内容
- iOS收到通知的相关内容
- 创建IRP的相关内容
- 推送通知的实现
- 推送通知的实现
- 推送通知的跳转
- Android 使用Notification创建推送通知
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- APNS推送通知的流程
- 关于苹果的推送通知
- APNS推送通知的流程
- iOS 推送通知的实现
- APNS推送通知的流程
- 关于苹果的推送通知
- 本地推送通知的学习
- 网页应该设计为多少像素才合适?
- JAVA中的Date类与Calendar类
- js的宽高度offsetWidth;clientWidth;
- 【杭电1242】广搜+队列
- nyoj16 矩形嵌套 排序+最长增长子序列
- 获得推送创建通知的相关内容
- 杭电2030解题代码
- HDU5773(The All-purpose Zero LIS变形)
- C++中可调用对象
- cadence学习2—cadence 如何拷贝别人图纸中的原件封装
- QingCloud Insight 2016:诠释云计算未来图景
- 欢迎使用CSDN-markdown编辑器
- 经典java面试题目
- Medoo的使用教程