安卓开发使用Notifiation推送通知没有声音、振动等

安卓开发使用Notifiation推送通知没有声音、振动等

    • 写在前面的话
    • 问题表现
    • 权限方面
    • 控制台相关警告
    • 其他说明

写在前面的话

这里不打算写教程,网上一搜大同小异,但是遇到的问题却让人摸不到头脑,我去安卓官方查看doc也没发现哪里写错。非常疑惑,所以记录下来,解决后作为自己经验的累积。

问题表现

  1. 通知可以发出,但
    builder.setAutoCancel(true) .setDefaults(NotificationCompat.DEFAULT_ALL)
    (点击自动消失,设置声音振动等为系统默认)无效果,然而
    builder.setContentTitle("title") .setSmallIcon(R.mipmap.ic_launcher_new_round) .setContentText(serverMessage) .setContentIntent(messagePendingIntent)
    是有效的。

  2. 我也分别使用过 Notification.Builder和NotificationCompat.Builder 声明builder以及使用
    notification.flags = Notification.XXXXXX 的方式设置声音振动呼吸灯等,依然没有效果;

权限方面

权限方面,这里只列出部分,相关的大概有以下:

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

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

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

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

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

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

控制台相关警告

调制控制台输出Warning,不知道是否与这个有关:

W/Notification:Use of stream types is deprecated for operations other than volume control
W/Notification:See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case

我也尝试过用setSound()设置uri来指定铃声,但依然无效,给出来的警告不变。

其他说明

  1. API版本:分别使用Android 8.0,Android 8.1,Android 9.0测试都无效
  2. 手机:小米8(Android9)

– 2019/4/22 8:42 –

你可能感兴趣的:(Android,Android)