• Notification高级技巧


    • 观察Notification这个类,你会发现里面还有很多我们没有使用过的属性。先来看看sound这个属性吧,它可以在通知发出的时候播放一段音频,这样就能够更好地告知用户有通知到来。sound 这个属性是一个 Uri 对象,所以在指定音频文件的时候还需要先获取到音频文件对应的 URI。比如说,我们手机/system/media/audio/ringtones 目录下有一个 Basic_tone.ogg音频文件,那么在代码中这样就可以这样指定:
                    Uri soundUri = Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg"));
                    notification.sound = soundUri;
     
    • 除了允许播放音频外,我们还可以在通知到来的时候让手机进行振动,使用的是 vibrate这个属性。它是一个长整型的数组,用于设置手机静止和振动的时长,以毫秒为单位。下标为 0 的值表示手机静止的时长,下标为 1 的值表示手机振动的时长,下标为 2 的值又表示手机静止的时长,以此类推。所以,如果想要让手机在通知到来的时候立刻振动 1 秒,然后静止 1 秒,再振动 1 秒,代码就可以写成:
                    long[] vibrates = {0, 1000, 1000, 1000};
                    notification.vibrate = vibrates;
              不过,想要控制手机振动还需要声明权限的。因此,我们还得编辑 AndroidManifest.xml文件,加入如下声明:
     
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.notificationtest"
        android:versionCode="1"
        android:versionName="1.0" >
        ……
        <uses-permission android:name="android.permission.VIBRATE" />
        ……
    </manifest>
    • 现在的手机基本上都会前置一个 LED 灯,当有未接电话或未读短信,而此时手机又处于锁屏状态时,LED灯就会不停地闪烁,提醒用户去查看。我们可以使用ledARGB、ledOnMS、ledOffMS 以及 flags 这几个属性来实现这种效果ledARGB 用于控制 LED 灯的颜色,一般有红绿蓝三种颜色可选。ledOnMS 用于指定 LED 灯亮起的时长,以毫秒为单位。ledOffMS用于指定 LED 灯暗去的时长,也是以毫秒为单位。flags 可用于指定通知的一些行为,其中就包括显示 LED 灯这一选项。所以,当通知到来时,如果想要实现 LED 灯以绿色的灯光一闪一闪的效果,就可以写成:
                    notification.ledARGB = Color.GREEN;
                    notification.ledOnMS = 1000;
                    notification.ledOffMS = 1000;
                    notification.flags = Notification.FLAG_SHOW_LIGHTS;
               当然,如果你不想进行那么多繁杂的设置,也可以直接使用通知的默认效果,它会根据当前手机的环境来决定播放什么铃声,以及如何振动,写法如下:
                    notification.defaults = Notification.DEFAULT_ALL;
               注意,以上所涉及的这些高级技巧都要在手机上运行才能看得到效果,模拟器是无法表现出振动、以及 LED 灯闪烁等功能的。
  • 相关阅读:
    ubuntu 10.04 修改双系统默认启动项
    ubuntu 系统目录结构
    在ubuntu 下搭建 android开发环境
    android 开发包的离线安装方式
    wget 下载ftp整个目录
    Lambda复合条件以及获得EntityFramework 运行后生成的sql 命令
    解决jquery 的datepicker 的本地化以及Today问题
    ubuntu ssh 登录慢问题
    android监控上传小demo之第三步 相片的提交
    临时转mysql编码解决乱码问题
  • 原文地址:https://www.cnblogs.com/izhanjun/p/4225286.html
Copyright © 2020-2023  润新知