- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第4章通知、服务与广播;
4.1通知(Notification);;
实施步骤
步骤1:新建一个Module,命名为Ex4_1_1,其它采用默认设置。
步骤2:修改MainActivity.java。
步骤3:修改布局文件activity_main.xml,设置两个按钮。
步骤4:在手机上运行并观察效果。;
案例分析
1.?MainActivity.java清单分析
2.?activity_main.xml清单分析;
相关知识
通知(Notification)是一种具有全局效果的通知,可以在系统的通知栏中显示。
通知的目的是告知用户App事件。在平时的使用中,通知主要有以下几个作用:
(1)显示接收到短消息、及时消息等信息,如QQ、微信、新浪、短信。
(2)显示客户端的推送消息,如广告、优惠、版本更新、推荐新闻等。
(3)显示正在进行的事物,如后台运行的程序、音乐播放进度、下载进度等。;
创建一个简单的Notification,主要有以下三步:
(1)获取NotificationManager实例。
(2)实例化NotificationCompat.Builder并设置相关属性。必要的属性有三个:小图标,通过setSmallIcon()方法设置;标题,通过setContentTitle()方法设置;内容,通过setContentText()方法设置。这三个属性必须设置,如果不设置则在运行时会抛出异常,其它属性为可选项,可以不设置。
(3)通过builder.build()方法生成Notification对象,并发送通知。;
下面介绍Notification的重要方法。
(1)?setSmallIcon()与setLargeIcon()。
在NotificationCompat.Builder中有设置通知的图标大小的两个方法。当setSmallIcon()与setLargeIcon()同时存在时,smallIcon显示在largeIcon的右下角;当只设置setSmallIcon()时,smallIcon显示在左侧。
(2)设置提醒标志符flags。
可以设置提醒标志符,向通知添加声音、闪灯和振动效果等达到提醒效果,也可以组合多个属性。;
各标志符的作用如表4-1-1所示。;
(3)?setDefaults(intdefaults)。
向通知添加声音、闪灯和振动效果的最简单方法是使用默认(defaults)属性,可以组合使用多个属性。这是NotificationCompat.Builder中的方法,用于设置在通知到来时,通过什么方式进行提示??其可以设置的默认属性如表4-1-2所示。
(4)?setVibrate(long[]pattern)。;;
(5)?.setLights(intledARGB,intledOnMS,intledOffMS)。
在使用这个方法时需要注意:
①只有在设置了标志符Flags为Notification.FLAG_SHOW_LIGHTS的时候,才支持三色灯提醒。
②颜色信息跟设备有关,不是所有的颜色都可以,需要有具体设备支持的颜色。;
(6)?.setSound(Urisound)。
设置默认或自定义铃声。该方法可以设置消息提醒为默认的铃声,也可以设置为自定义的铃声。系统自带的铃声效果的Uri位置为:Uri.withAppendedPath(Audio.Media.INTERNAL?_CONTENT_URI,2),设置系统默认的铃声,可以直接使用;
(7)?setOngoing(booleanongoing)。
设置为ture,表示它为一个正在进行的通知。通常用来表示一个后台任务,用户正在参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载、同步操作、主动网络连接等)。
(8)?setProgress(intmax,intprogress,booleanindeterminate)。
设置带进度条通知的方法,可以在下载中使用。进度条通知的属性与含义见表4-1-3。;;
4.1.2Notification中启动Activity
任务目标
设计一个Notification,点击后启动另一个Acticity。效果如图4-1-3所示。;;
实施步骤
步骤1:使用上一个项目Ex4_1_1。
步骤2:修改java文件MainActivity.java。步骤3:添加NewActivity.java。
步骤4:修改布局文件activity_main
文档评论(0)