• Android--Notification


    1、通知(Notification)是应用程序没有运行在前台时可以向用户发出一些提示消息的功能,发出通知后,手机状态栏会显示通知,用户可以通过下拉状态栏来查看和操作通知;

    2、Notification 的基本用法:

      1)Android 中通过 NotificationManager 来管理通知,可以用 Context 的 getSystemService() 方法获取到,改方法接收一个字符串参数来指定获取哪个系统服务,这里传入 Context.NOTIFICATION_SERVICE 即可;

      2)Notification 对象可以通过其带参构造函数创建,其中包括三个参数:第一个用于指定通知的图标;第二个用于指定通知的 ticker 内容,即通知被创建时状态栏显示的瞬时信息;第三个用于指定通知的创建时间;

      3)Notification 对象创建完成后调用其 setLatestEventInfo() 方法为其设置标准布局;

      4)Notification 创建完毕之后就可以通过 NotificationManager 对象来进行显示,调用的方法为 notify(), 它接收两个参数:第一个参数为 id, 要保证为每个通知锁指定的 id 都是唯一的,第二个参数是 Notification,这里可以传入刚刚创建的 Notification 对象;

      5)通过设置 Notification setLatestEventInfo() 方法的第四个参数可以设置通知的点击事件:

        --该参数为一个 PendingIntent 对象,它可以简单地理解为延迟执行的Intent;

        --PendingIntent 主要提供了几个静态方法用于获取 PendingIntent 的实例,可以选择使用 getActivity()、getBroadcast()、getService() 方法;

        --上述三个方法接收的参数都是相同的,主要有四个:第一个从参数为 Context 对象;第二个参数一般为 0, 第三个参数是一个 Intent, 可以通过这个Intent 构建PendingIntent 的意图,第四个参数用于确定 PendingIntent 的行为,有FLAG_ONE_SHOT、FLAG_NO_CREATE、FLAG_CANCEL_CURRENT 和FLAG_UPDATE_CURRENT 这四种值可选;

      6)Notification 的其他技巧:

        --可以设置 Notification 的 sound 属性来设置通知在显示时的提示音,这个 sound 为一个 Uri 对象;

        --设置Notification 的 vibrate 属性可以设置通知显示时的震动提示,该属性为一个长整型数组,表示手机静止和震动的时长(毫秒),如long[] vibrates = {0, 1000, 1000, 1000};表示通知显示时立刻震动1秒,再静止一秒,最后又震动一秒;

        --通过ledARGB、ledOnMS、ledOffMS 以及flags 这几个属性来实现通知显示时的 LED 闪烁效果,其中:ledARGB 用于控制LED 灯的颜色,ledOffMS用于指定LED 灯暗去的时长,ledOnMS 用于指定LED 灯亮起的时长,这两个均以毫秒为单位,flags 可用于指定通知的一些行为,其中包括显示LED 灯这一选项;

        --可以直接使用通知的默认效果,它会根据当前手机的环境来决定播放什么铃声,以及如何振动:notification.defaults = Notification.DEFAULT_ALL;

  • 相关阅读:
    路由基础、多app共存,路由分配、路由分发(将app自己的路由分发给应用自身管理)、反解
    Django项目的创建与介绍,三件套,静态文件,配置Mysql完成数据迁移,单表ORM记录的增删改查
    Django框架导读
    Flask简易版本、Ajax、DOM操作,表单操作
    JQuery
    0820-信心赛
    codeforces比赛总(吐)结(嘈)
    洛谷P3403 跳楼机(最短路)
    求逆序对的三种方法
    NKOJ 3751 扫雷游戏
  • 原文地址:https://www.cnblogs.com/tengtao93/p/5279606.html
Copyright © 2020-2023  润新知