Notification可行性分析
来源:互联网 发布:ipad点菜软件免费 编辑:程序博客网 时间:2024/06/08 04:14
1、经过调研,以下方案可行,但已过时。
添加一个Notification步骤:
1:获取通知管理器
NotificationManager manager=
(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);
2:定义一个通知:
Notification notify=new Notification();
3:设置Notification的各种属性:
设置通知在状态栏显示的图标、点击通知时显示的内容、通知时发出的声音、震动模式、led闪光灯(灯的颜色,闪光时间)、通知的时间戳、设置通知显示的参数等
3.1设置通知显示的参数,可有两种方法:
//1、设置事件信息-----已过时
a、点击通知,会启动设置的activity
notify.setLatestEventInfo(NotificationTest.this, "新消息", "主人,来短息了", pi);
//b、点击通知之后,通知在状态栏上消失
notify.flags = notify.flags | Notification.FLAG_AUTO_CANCEL;
// 2,使用远程视图
a、点击通知,不会启动任何activity,除非自己手动添加事件
notify.contentView = new RemoteViews(NotificationTest.this.getPackageName(),
R.layout.my_status);
notify.contentView.setImageViewResource(R.id.image,R.drawable.notify);
notify.contentView.setTextViewText(R.id.title,"新消息");
notify.contentView.setTextViewText(R.id.text,"主人,有短息了");
notify.contentView.setOnClickPendingIntent(R.id.layout, pi);
//b、点击通知之后,通知在状态栏上不消失
notify.flags = notify.flags | Notification.FLAG_AUTO_CANCEL;
4:添加通知,当然也可以删除。
可行性分析:
从以上可以看到设置通知显示的参数时无论用那种方法都有不足之处,下面用第三种方案,最新版api中提到的Notification.builder
Notification notify = new Notification.Builder(NotificationTest.this)
.setContentTitle("新消息")
.setContentText("主人,有短息了")
.setSmallIcon(R.drawable.notify)
.setAutoCancel(true)
.setContentIntent(pi)
.setTicker("启动其他Activity的通知")
.setWhen(System.currentTimeMillis())
.build();
创建Notification时,设置setAutoCancel(true)避免了使用远程视图时,点击通知之后,通知在状态栏上不消失的情况,设置.setContentIntent(pi)避免设置事件信息时,此方法已过时的情况。
2、可行方案:
1:获取通知管理器
NotificationManager manager=
(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);
2:定义一个通知,并设置属性
Notification notify = new Notification.Builder(NotificationTest.this)
.setContentTitle("新消息")
.setContentText("主人,有短息了")
.setSmallIcon(R.drawable.notify)
.setAutoCancel(true)
.setContentIntent(pi)
.setTicker("启动其他Activity的通知")
.setWhen(System.currentTimeMillis())
.build();
3:添加通知,当然也可以删除。
图文分析:
程序主界面上有一个Button按钮,当用户点击这个按钮时状态栏会显示一则通知,当按住状态栏下拉时可以看到这个通知在下拉列表里,此时点击这个通知就跳转到另一个界面(相当于查看这个通知)并且能将这个通知在状态栏里取消。
点击“添加notification”按钮,状态栏显示消息图标(蓝色小图标),点击“删除notification”,将取消通知,状态栏不会显示消息图标。如下图:
将状态栏向下拖动,可以看到notification的详情。如下图:
使用远程视图时,点击通知,没有反应,应为它只是一个定义好的视图,但可以为某一视图添加启动其他activity的事件setOnClickPendingIntent(viewid,pendingIntent)。设置事件信息时,点击通知,可以启动另一个activity。如下图:
参考:http://www.jb51.net/article/36567.htm
- Notification可行性分析
- 可行性分析
- 可行性分析
- 可行性分析
- 可行性分析
- 可行性分析报告
- 可行性分析,实用模板。
- 项目可行性分析报告
- 可行性分析报告模板
- “ASP模式”可行性分析
- ASP模式可行性分析
- 可行性分析报告 模板
- 回家可行性分析
- 可行性分析报告模板
- 科士威事业可行性分析
- 图书馆管理信息系统可行性分析
- 系统可行性分析
- CVS可行性分析报告
- 每位设计师都应该拥有的50个CSS代码片段-3
- Context Switch
- 命令模式
- OpenRisc-28-ORPSoC的clock子系统分析
- 关于redhat优化
- Notification可行性分析
- [Android] ListView中getView的原理+如何在ListView中放置多个item
- STDIN_FILENO
- vsftp出现/usr/bin/ld: cannot find -lcap
- MySQL存储过程详解
- Java 枚举7常见种用法
- cpuinfo中查看物理CPU、逻辑CPU和CPU核数
- Asp.net 后台调用js方法
- B树、B-树、B+树、B*树