分享好友 最新动态首页 最新动态分类 切换频道
Android中Notification详解【android进化三十五】手机震动器「Android中Notification详解【android进化三十五】」
2025-02-13 09:25
  •           下面来谈谈notification,这个notification一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯。发现这个功能特别好用,所以我就根据我的理解来谈谈。摘自帮助文档 :  notification类表示一个持久的通知,将提交给用户使用NotificationManager。已添加的Notification.Builder,使其更容易构建通知。notification是一种让你的应用程序在没有开启情况下或在后台运行警示用户。它是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity)警示用户有需要注意的事件发生的最好途径。

    先来区分以下状态栏状态条的区别

    1、状态条就是手机屏幕最上方的一个条形状的区域

          在状态条有好多信息量:比如usb连接图标,手机信号图标,电池电量图标,时间图标等等

    2、状态栏就是手从状态条滑下来的可以伸缩的view

          在状态栏中一般有两类(使用FLAG_标记

          (1)正在进行的程序

          (2)是通知事件

 

     大概来描述创建一个Notification传送的信息有

    1、一个状态条图标

    2在拉伸的状态栏窗口中显示带有大标题,小标题,图标的信息,并且有处理该点击事件:比如调用该程序的入口类; 

    3、闪光,LED,或者震动

 

      快速创建一个Notification的步骤简单可以分为以下四步

      第一步:通过getSystemService)方法得到NotificationManager对象

      第二步:对Notification的一些属性进行设置比如:内容,图标,标题,相应notification的动作进行处理等等

      第三步:通过NotificationManager对象的notify)方法来执行一个notification的快讯

      第四步:通过NotificationManager对象的cancel)方法来取消一个notificatioin的快讯

 

     下面对Notification类中的一些常量,字段,方法简单介绍一下

     常量

        DEFAULT_ALL                  使用所有默认值,比如声音,震动,闪屏等等

        DEFAULT_LIGHTS            使用默认闪光提示

        DEFAULT_SOUNDS         使用默认提示声音

        DEFAULT_VIBRATE         使用默认手机震动 

      说明】:加入手机震动,一定要在manifest.xml中加入权限

                         <uses-permission android:name="android.permission.VIBRATE" />

        以上的效果常量可以叠加,即通过

                mNotifaction.defaults =DEFAULT_SOUND  |  DEFAULT_VIBRATE ;  

            或mNotifaction.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                                发送此通知的时间戳

  

Notification.build构造Notification方法介绍:    

     void setLatestEventInfo(Context context , CharSequencecontentTitle,CharSequence  contentText,PendingIntent contentIntent)   

           

        功能: 显示在拉伸状态栏中的Notification属性,点击后将发送PendingIntent对象

        参数: context             上下文环境

                      contentTitle      状态栏中的大标题

                      contentText      状态栏中的小标题

                      contentIntent    点击后将发送PendingIntent对象

      说明:要是在Notification中加入图标,在状态栏和状态条中显示图标一定要用这个方法,否则报错

 

      最后说一下NotificationManager类的常用方法

             通过获取系统服务来获取该对象            

                NotificationManager mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE) ;

 

      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

 

     下面看一下demo的效果图

                                                    图(1)                                                                                                                                  图(2

 

                                                                   图(3)                                                                                                                         图(4)                                    

 

                                             图(5

 源码奉上

在NotificationApp工程里面

一、在com.cn.notification.daming包下面NotificationMainActivity.java中的代码

 
   

 

二、在com.cn.notification.daming包下面ToNotificationActivity.java中的代码

 
   

 

三、在layout下main.xml布局文件的代码

 
   

 

四、在layout下main1.xml布局文件的代码

 
   

 

五、manifest.xml中的代码

最新文章
红米手机2(移动4G)红米手机2「红米手机2(移动4G)」
1G内存完全够用,那些觉得内存快满时卡的注意一下,一般原因有两个:第一,安卓有自己的OOM机制,当RAM使用达到一定值时(而不是完全用满的时候)会自动进行清理,清理的过程会占用CPU;第二,开启了大量后台占用CPU的应用导致前台程序的CP
手机模拟钢琴安卓版手机模拟钢琴「手机模拟钢琴安卓版」
手机模拟钢琴安卓版是一款可以将手机变成钢琴的软件,本产品包含2种模式,练习模式和自由弹奏,把你的手机变成一个钢琴教练,用户可以使用此软件来进行钢琴练习,发出的音色与真实钢琴极为相似,学会钢琴识谱拥有海量的乐谱可以练习,让用
电脑充电器可以充手机吗充电宝可以一边充电一边充手机吗「电脑充电器可以充手机吗」
电脑充电器可以充手机,但并不推荐这样做。这是因为电脑的USB端口输出的电压和电流通常比手机的充电器要低,因此充电速度会相对较慢。此外,电脑在工作时负荷变化可能导致提供给手机的电流不稳定,从而可能对手机电池造成伤害,减少电板的
大可乐手机丁秀洪表示发布会将放“毒招”大可乐手机「大可乐手机丁秀洪表示发布会将放“毒招”」
一句12.3,让什么发生,让发布在即的大可乐3成了最近的热议话题。至于究竟是什么大招,之前有媒体推测可能是暗指大可乐将和京东战略合作,也有网友认为昨日曝光的疑似长着苹果脸的新机谍照就是所谓大招。但今天,大可乐手机创始人丁秀洪在
OPPO手机总是弹出广告怎么关闭手机老是弹出广告怎么消除「OPPO手机总是弹出广告怎么关闭」
注意:本文提供的解决方案仅适用于OPPO手机。如果您使用的是其他品牌的手机,建议您查阅官方说明或联系客服获取帮助。在解决问题之前,让我们先了解一下为什么OPPO手机会频繁弹出广告。通常情况下,出现这种问题的原因可能有以下几点:未经
耐玩的游戏王手游推荐 2024经典的游戏王游戏大全游戏王手机游戏「耐玩的游戏王手游推荐 2024经典的游戏王游戏大全」
游戏王系列,作为日本界的璀璨明星,自其问世以来,便吸引了无数动漫爱好者的目光,成为了他们心中的经典。基于游戏王这一的IP,一系列悉心设计的游戏应运而生,跨越国界,在世界范围内赢得了极高的声誉与喜爱。谈及游戏王题材的手游,它们
骁龙855深度性能测试,前瞻解读2019年手机性能(对比麒麟980、苹果A12)手机性能对比「骁龙855深度性能测试,前瞻解读2019年手机性能(对比麒麟980、苹果A12)」
上一篇文章跟大家详细地聊下,目前最火的几款。还没看过的小伙伴们推荐看一看:很多读者在评论跟我提起:为什么不加上骁龙855呢?其实原因也很简单:骁龙855的机型还没上市,最快也要等到2月份。实在是巧妇难为无米之炊呀!还好,在新机正
手机好评排行:小米15第六,iQOO13跌出前十,第一名出乎意料性能最好的手机前十位「手机好评排行:小米15第六,iQOO13跌出前十,第一名出乎意料」
因为新机的发布,11月份的好评榜变化还是挺大的:OPPO Find X8排名第十,小米15仅排名第六,上周的亚军iQOO13跌出榜单前十,第一名确实有点出乎意料。对于榜单中的新机和值得选购的机型,亓纪会进行推荐和点评,希望对大家有所帮助。好评榜
手机银行线上服务指南 | 您需要的金融服务都有~广西农信手机银行「手机银行线上服务指南 | 您需要的金融服务都有~」
当您不想出门的时候当您意外居家的时候着急汇款?着急查账?着急缴费?别着急您的老朋友“广西农信手机银行”来帮您7×24小时的贴心服务让一切都变简单~这份线上服务指南请您收藏~一账户管理登录手机银行,点击首页-我的账户或账户管理、明
苹果手机怎么关声音苹果手机键盘声音怎么关闭「苹果手机怎么关声音」
苹果手机作为现代生活中不可或缺的通讯工具,其声音管理功能显得尤为重要。无论是希望在工作或学习中保持专注,还是在特定场合避免打扰他人,掌握关闭苹果手机声音的方法都显得尤为关键。以下是几种常见的关闭苹果手机声音的方法,帮助用户
相关文章
推荐文章
发表评论
0评