确保你的设备的音量不是静音状态或者震动模式。
检查你的代码是否正确设置了声音和振动。
以下是Kotlin示例代码:
设置通知声音:
val sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("通知标题")
.setContentText("通知正文")
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_VIBRATE)
.setSound(sound)
val notificationManager = NotificationManagerCompat.from(context)
notificationManager.notify(notificationId, builder.build())
设置通知振动:
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("通知标题")
.setContentText("通知正文")
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_VIBRATE)
.setVibration(longArrayOf(0, 1000, 500, 1000))
val notificationManager = NotificationManagerCompat.from(context)
notificationManager.notify(notificationId, builder.build())
如果使用的是Android 8.0(API level 26)或以上的设备,需要为通知渠道设置震动:
val channel = NotificationChannel(CHANNEL_ID, "通知渠道名称", NotificationManager.IMPORTANCE_HIGH).apply {
enableVibration(true)
vibrationPattern = longArrayOf(0, 1000, 500, 1000)
}
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(channel)
请注意,以上示例代码中的 CHANNEL_ID 是通知渠道的ID,需要事先定义。
最后,如果你的设备设置了“无声模式”或“勿扰模式”,那么无论是否设置了声音或振动都不会有提示音和振动。