【Android入门到项目实战-- 7.2】—— 通知的进阶和高级使用

        前面学习了通知的基本使用,下面学习一下通知的进阶和高级用法。

一、来通知时播放音频

       

Notification notification = new NotificationCompat.Builder(MainActivity.this)

                        ..................

                        .setSound(Uri.fromFile(new File("/system/media/audio/ringtones/Luna.ogg")))
                        .build();

二、来通知时振动

        使用的是vibrate属性,用于设置手机静止和振动的时长,以毫秒为单位,下标为0的值表示手机静止的时长,下标为1的值表示手机振动的时长,下标为2的值又表示手机的静止时长。所以,想要让手机在通知到来时立刻振动1秒,然后静止1s,再振动,可以这样写

              Notification notification = new NotificationCompat.Builder(MainActivity.this)
                        ............

                        .setVibrate(new long[] {0,1000,1000,1000})
                        .build();

        想要使用振动,还需要声明权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.notificationtest">
    
    <uses-permission android:name="android.permission.VIBRATE"/>

............

三、设置一张大照片

Notification notification = new NotificationCompat.Builder(MainActivity.this)
                        ..................

                        .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher_background)))
                        .build();

四、设置通知的重要度

        setPriority()方法接收一个整型参数用于设置这条通知的重要度,共有5个常量值:PRIORITY_DEFAULT表示默认的重要程度,和不设置效果一样;PRIORITY_MIN表示最低的重要程度,系统可能只会在特定场景显示,如用户下拉状态栏时;PRIORITY_LOW表示较低的重要程度,系统可能会将这类通知缩小,或改变显示顺序;PRIORITY_HIGH表示较高的重要程度,系统可能会放大,排在比较靠前的位置;PRIORITY_MAX表示最高的重要程度,这类通知需要让用户立刻看到,并作出响应操作。

      Notification notification = new NotificationCompat.Builder(MainActivity.this)
                        ..............

                        .setPriority(NotificationCompat.PRIORITY_MAX)
                        .build();

以上的效果如下:

猜你喜欢

转载自blog.csdn.net/Tir_zhang/article/details/130375862
7.2
今日推荐