




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android Notification详细解读NotificationManager(通知管理器):NotificationManager负责通知用户事件的发生.NotificationManager有三个公共方法:1. cancel(int id) 取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走.2. cancelAll() 取消以前显示的所有通知.3. notify(int id, Notification notification) 把通知持久的发送到状态条上.Java代码/初始化NotificationManager:NotificationManager nm =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);Java代码/初始化NotificationManager:NotificationManager nm =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);/初始化NotificationManager:NotificationManager nm =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);Notification代表着一个通知.Notification的属性:audioStreamType 当声音响起时,所用的音频流的类型contentIntent 当通知条目被点击,就执行这个被设置的Intent.contentView 当通知被显示在状态条上的时候,同时这个被设置的视图被显示.defaults 指定哪个值要被设置成默认的.deleteIntent 当用户点击Clear All Notifications按钮区删除所有的通知的时候,这个被设置的Intent被执行.icon 状态条所用的图片.iconLevel 假如状态条的图片有几个级别,就设置这里.ledARGB LED灯的颜色.ledOffMS LED关闭时的闪光时间(以毫秒计算)ledOnMS LED开始时的闪光时间(以毫秒计算)number 这个通知代表事件的号码sound 通知的声音tickerText 通知被显示在状态条时,所显示的信息vibrate 振动模式.when 通知的时间戳.Notification的公共方法:describeContents() Describe the kinds of special objects contained in this Parcelables marshalled representation.setLatestEventInfo(Context context, CharSequence contentTitle, CharSequenceAndroid Notification介绍Notification就是在桌面的状态通知栏。这主要涉及三个主要类:Notification:设置通知的各个属性。NotificationManager:负责发送通知和取消通知Notification.Builder:Notification内之类,创建Notification对象。非常方便的控制所有的flags,同时构建Notification的风格。主要作用:1.创建一个状态条图标。2.在扩展的状态条窗口中显示额外的信息(和启动一个Intent)。3.闪灯或LED。4.电话震动。5.发出听得见的警告声(铃声,保存的声音文件)。Notification是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity)警示用户有需要注意的事件发生的最好途径下面主要介绍这三个类:一、NotificationManager这个类是这三个类中最简单的。主要负责将Notification在状态显示出来和取消。主要包括5个函数:void cancel(int id),void cancel(String tag, int id),void cancelAll(),void notify(int id, Notification notification),notify(String tag, int id, Notification notification)看看这五个函数就知道这个类的作用了。但是在初始化对象的时候要注意:NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);二、Notification设置这个类主要是设置Notification的相关属性。初始化Notification n = new Notification();Notification里面有很多属性下面选择几个常用的介绍一下icon 这个是设置通知的图标。像QQ的小企鹅sound 这个是设置来通知时的提示音。tickerText 设置提示的文字。vibrate 来通知时振动。when 设置来通知时的时间flag 这个很有意思是设置通知在状态栏显示的方式。它的值可以设置为虾米这些值:FLAG_NO_CLEAR 将flag设置为这个属性那么通知栏的那个清楚按钮就不会出现FLAG_ONGOING_EVENT 将flag设置为这个属性那么通知就会像QQ一样一直在状态栏显示DEFAULT_ALL 将所有属性设置为默认DEFAULT_SOUND 将提示声音设置为默认DEFAULT_VIBRATE 将震动设置为默认三、Notification.Builder这个类一般用于管理Notification,动态的设置Notification的一些属性。即用set来设置。也没啥好说的。看一个例子:这个例子还需要在xml中添加两个按钮public class Main extends Activity private Button sendBtn , cancelBtn; private Notification n; private NotificationManager nm; /Notification的标示ID private static final int ID = 1; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); /实例化按钮 sendBtn = (Button)this.findViewById(R.id.sendBtn); cancelBtn = (Button)this.findViewById(R.id.cancelBtn); /获取NotificationManager实例 String service = NOTIFICATION_SERVICE; nm = (NotificationManager)this.getSystemService(service); /实例化Notification n = new Notification(); /设置显示图标,该图标会在状态栏显示 int icon = R.drawable.icon; /设置显示提示信息,该信息也会在状态栏显示 String tickerText = Test Notifaction; /显示时间 long when = System.currentTimeMillis(); n.icon = icon; n.tickerText = tickerText; n.when = when; n.flags = Notification.FLAG_NO_CLEAR; n.flags = Notification.FLAG_ONGOING_EVENT; /为按钮添加监听器 sendBtn.setOnClickListener(sendClickListener); cancelBtn.setOnClickListener(cancelClickListener); private OnClickListener sendClickListener = new OnClickListener() Override public void onClick(View v) /实例化Intent Intent intent = new Intent(Main.this, Main.class); /获取PendingIntent PendingIntent pi = PendingIntent.getActivity(Main.this, 0, intent, 0); /设置事件信息 n.setLatestEventInfo(Main.this, My Title, My Content, pi); /发出通知 nm.notify(ID, n); ;private OnClickListener cancelClickListener = new OnClickListener() Override public void onClick(View v) nm.cancel(ID); ;android notification 事件nm=(NotificationMJava代码 1. nm=(NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE);2. Notificationnotification=newNotification(android.R.drawable.stat_sys_download,itemname,System3. .currentTimeMillis();4. IntentnotificationIntent=newIntent(context,InstallActivity.class);5. notificationIntent.putExtra(hasdownloaded,false);6. notificationIntent.putExtra(oranotificationid,oranotificationid);7. PendingIntentcontentIntent=PendingIntent.getActivity(context,8. this.oranotificationid,9. notificationIntent,PendingIntent.FLAG_CANCEL_CURRENT);10. /notification.contentIntent=contentIntent;11. 12. notification.setLatestEventInfo(context,null,null,13. contentIntent);14. notification.contentView=newRemoteViews(context.getPackageName(),15. R.layout.imediadotbiz_process);16. notification.contentView.setTextViewText(R.id.dotbizimedia_core_tv_downing,itemname);17. notification.contentView.setProgressBar(R.id.dotbizimedia_core_pb_downing,100,0,false);18. nm.notify(oranotificationid,notification);19. 启动多个notification后,设置每个notification
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 半角题目及答案
- 安全综合知识试题及答案
- 钢水烫伤培训课件
- 可穿戴医疗设备市场潜力分析:2025年技术创新与需求变化报告
- 安全生产选择试题及答案
- 数字艺术市场2025年交易活跃度研究报告:艺术与虚拟现实结合的新领域001
- 安全检查工试题及答案
- 安全管理模拟试题及答案
- 预防燃气泄漏培训课件
- 中国原始社会美术课件
- 西藏2021年中考数学真题试卷(含答案)
- 沂蒙红色文化与沂蒙精神智慧树知到期末考试答案章节答案2024年临沂大学
- 中国地理(广州大学)智慧树知到期末考试答案章节答案2024年广州大学
- 课程与教学论(海南师范大学)智慧树知到期末考试答案2024年
- 校园超市经营投标方案(技术方案)
- 2023年辽宁省高中学业水平合格性考试物理试卷真题(答案详解)
- NBA-PPT简介(文字图片技巧)
- 一例压力性损伤的个案护理
- 初高中生物衔接课件
- 高压电动机预防性试验课件
- 2022-2023学年北京市西城区部编版五年级下册期末考试语文试卷
评论
0/150
提交评论