安卓中通知(Notification)的基本使用方法
2015-10-19 01:14
387 查看
安卓中通知(Notification)的基本使用方法
1. 通知的使用场合当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容。
2. 通知的创建步骤
(1)获取NotificationManager实例,可以通过调用Conten的getSystenService()方法得到,getSystemService()方法接收一个字符串参数用于确定获取系统的哪个服务, 这里我们传入Context.NOTIFICATION_SERVICE 即可。获取NotificationManager实例如下:
NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
影音先锋电影 http://www.iskdy.com/
(2)创建Notification对象,该对象用于存储通知的各种所需信息,我们可以使用它的有参构造函数来创建。构造函数有三个参数,第一个参数指定通知图标,第二个参数用于指定通知的ticker 内容,当通知刚被创建的时候,它会在系统的状态栏一闪而过,属于一种瞬时的提示信息。第三个参数用于指定通知被创建的时间,以毫秒为单位,当下拉系统状态栏时,这里指定的时间会显示在相应的通知上。创建一个Notification 对象可以写成:
Notification notification = new Notification(R.drawable.ic_launcher,"This is a ticker text",System.currentTimeMillis());
(3)调用Notification的setLatestEventIfo()方法对通知的布局进行设定,这个方法接收四个参数,第一个参数是Context。第二个参数用于指定通知的标题内容,下拉系统状态栏就可以看到这部分内容。第三个参数用于指定通知的正文内容,同样下拉系统状态栏就可以看到这部分内容。第四个参数用于指定实现通知点击事件的PendingIntent对象,如果暂时用不到可以先传入null。因此,对通知的布局进行设定就可以写成:
notification.setLatestEventInfo(context, "This is content title", "This iscontent text", null);
(4)调用NotificationManager的notify()方法显示通知。notify()方法接收两个参数,第一个参数是id,要保证为每个通知所指定的id 都是不同的。第二个参数则是Notification 对象,这里直接将我们刚刚创建好的Notification 对象传入即可。显示一个通知就可以写成:
manager.notify(1, notification);
伦理片 http://www.dotdy.com/
3.代码示例
Java代码
public class MainActivity extends Activity implements OnClickListener {
private Button sendNotice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendNotice = (Button) findViewById(R.id.send_notice);
sendNotice.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.send_notice:
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(
R.drawable.ic_launcher, "This is a ticker text", System.currentTimeMillis());
notification.setLatestEventInfo(this, "This is content title",
"This is content text", null);
manager.notify(1, notification);
default:
break;
}
}
}
另外,我在开发完APP都会用一些APP在线自动化测试工具进行测试
相关文章推荐
- GenyMotion下载安装过程及遇到的问题
- [脑图]模板方法模式(5.10)
- JAVA设计模式(工厂模式)
- JAVA设计模式(工厂模式)
- Intellij IDEA
- 三目表达式的运用
- opencv3.0使用过程中出现“无法定位程序输入点”问题
- Android自定义Toast宽度无法设置问题解决
- alter table新增字段操作究竟有何影响?(下篇)
- 【markdown】指导手册(超齐全!)
- 黑马程序员---成长之路-----OC之基础篇ARC和类别
- Apache中 RewriteRule 规则参数介绍
- Chromium硬件加速渲染的OpenGL上下文绘图表面创建过程分析
- lintcode- 前序遍历和中序遍历树构造二叉树-73
- IOS 分享 牛人 Demo
- 【我的问题】没解决的问题
- lintcode-中序遍历和后序遍历树构造二叉树-72
- android 自定义Toast显示风格
- ios输入内容正则表达式的应用
- 归并排序(Merge Sort)