notification入门要点总结
2013-01-07 18:25
197 查看
notification就是android手机下拉菜单栏常用的一个控件,可以轻松实现通知效果。
下面对Notification类中的一些常量,字段,方法简单介绍一下:
常量:
DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等
DEFAULT_LIGHTS 使用默认闪光提示
DEFAULT_SOUNDS 使用默认提示声音
DEFAULT_VIBRATE 使用默认手机震动
【说明】:加入手机震动,一定要在manifest.xml中加入权限:
<uses-permission android:name="android.permission.VIBRATE" />
以上的效果常量可以叠加,即通过
notification.defaults =DEFAULT_SOUND|DEFAULT_VIBRATE;
notification.defaults |= DEFAULT_SOUND (最好在真机上测试,震动效果模拟器上没有)
设置flag位:
FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉
FLAG_NO_CLEAR 该通知不能被状态栏的清除按钮给清除掉
FLAG_ONGOING_EVENT 通知放置在正在运行栏,不能被清除掉
FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应
常用字段:
contentIntent 设置PendingIntent对象,点击时发送该Intent
defaults 添加默认效果
flags 设置flag位,例如FLAG_NO_CLEAR等
icon 设置图标
sound 设置声音
tickerText 显示在状态栏中的文字
when 发送此通知的时间戳
NotificationManager常用方法介绍:
public void cancelAll() 移除所有通知(只是针对当前Context下的Notification)
public void cancel(int id) 移除标记为id的通知 (只是针对当前Context下的所有Notification)
public void notify(String tag ,int id, Notification notification) 将通知加入状态栏,标签为tag,标记为id
public void notify(int id, Notification notification) 将通知加入状态栏,标记为id
以下是代码实现的一个小例子
/**
* 添加一个notification
*/
private void addNotificaction() {
NotificationManager manager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
// 创建一个Notification
Notification notification = new Notification();
// 设置显示在手机最上边的状态栏的图标
notification.icon = R.drawable.excel;
// 当当前的notification被放到状态栏上的时候,提示内容
notification.tickerText = "注意了,我被扔到状态栏了";
/***
* notification.contentIntent:一个PendingIntent对象,当用户点击了状态栏上的图标时,该Intent会被触发
* notification.contentView:我们可以不在状态栏放图标而是放一个view
* notification.deleteIntent 当当前notification被移除时执行的intent
* notification.vibrate 当手机震动时,震动周期设置
*/
// 添加声音提示
notification.defaults=Notification.DEFAULT_SOUND;
// audioStreamType的值必须AudioManager中的值,代表着响铃的模式
notification.audioStreamType= android.media.AudioManager.ADJUST_LOWER;
//下边的两个方式可以添加音乐
//notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");
//notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
Intent intent = new Intent(this, Notification2Activity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
// 点击状态栏的图标出现的提示信息设置
notification.setLatestEventInfo(this, "内容提示:", "我就是一个测试文件", pendingIntent);
manager.notify(1, notification);
}
相关文章推荐
- ABAP开发学习总结之一:ABAP入门基本要点
- React.js 基础入门四--要点总结
- python入门总结-函数
- 文本分类入门-相关概念总结
- 苹果信息推送服务(Apple Push Notification Service)使用总结
- python 入门总结(一)
- Android IOS WebRTC 音视频开发总结(十)-- webrtc入门002
- RPC入门总结(一)RPC定义和原理
- Hibernate入门之自己写的小例子的总结
- 个人学习总结一机器学习入门(七)
- 【转】一些图论、网络流入门题总结、汇总
- [置顶] Docker学习总结(5)——超实用Docker入门学习教程
- vue2.0 开发实践总结之入门篇
- J2ME程序开发新手入门九大要点
- mybatis源码总结--快速入门(1)
- 【axure手机原型】iOS应用设计要点总结
- Hibernate框架入门总结
- DSL技术-要点总结
- UML中各种图的要点总结-bokee.net
- 《Java Web 程序开发入门》知识总结