Android 通知既没有声音也没有振动
我在向fcm发布数据后发出通知,当我收到返回的数据时,通知显示没有问题,但没有声音没有振动即使我确保我的手机启用了声音和振动,我不确定我是否做错了什么,请帮我解决,谢谢Android 通知既没有声音也没有振动,android,kotlin,notifications,Android,Kotlin,Notifications,我在向fcm发布数据后发出通知,当我收到返回的数据时,通知显示没有问题,但没有声音没有振动即使我确保我的手机启用了声音和振动,我不确定我是否做错了什么,请帮我解决,谢谢 这是我的应用程序类代码,我在其中为oreo设置了通知通道+ 这是我的通知代码 我的问题的解决方案是简单地设置默认声音,如下所示 setDefaults(NotificationCompat.DEFAULT\u SOUND)检查应用程序是否允许显示通知并可以执行振动。转到Emulator/Physical Device中的
- 这是我的应用程序类代码,我在其中为oreo设置了通知通道+
- 这是我的通知代码
我的问题的解决方案是简单地设置默认声音,如下所示
setDefaults(NotificationCompat.DEFAULT\u SOUND)
检查应用程序是否允许显示通知并可以执行振动。转到Emulator/Physical Device中的设置和应用设置我已经检查过了,并且我的应用程序和myphone中的大多数应用程序都启用了这两个设置,我不确定这是否与优先级或其他因素有关
override fun onCreate() {
super.onCreate()
Timber.plant(Timber.DebugTree())
setUpNotification()
}
private fun setUpNotification(){
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
val notificationChannel = NotificationChannel(
getString(R.string.channelid),getString(R.string.channelstring),
NotificationManager.IMPORTANCE_DEFAULT)
val ringtone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val audioAttributes = AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build()
notificationChannel.description = "Notifications"
notificationChannel.enableLights(true)
notificationChannel.enableVibration(true)
notificationChannel.lightColor = Color.BLUE
notificationChannel.setSound(ringtone,audioAttributes)
val notificationManager = this.getSystemService(Context.NOTIFICATION_SERVICE) as
NotificationManager
notificationManager.createNotificationChannel(notificationChannel)
}
}
private fun FireNotification(title : String, body : String, isVibrationEnabled : Boolean,
notificationchannelid : String){
val intent = Intent(applicationContext,MainActivity::class.java)
val taskBuilder = TaskStackBuilder.create(applicationContext).run {
addNextIntentWithParentStack(intent)
getPendingIntent(1,PendingIntent.FLAG_UPDATE_CURRENT)
}
val vibratePattern = longArrayOf(1000L, 1000L, 1000L, 1000L)
val notification = NotificationCompat.Builder(applicationContext, notificationchannelid)
notification.apply {
setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
setContentTitle(title)
setContentText(body)
setContentIntent(taskBuilder)
setSmallIcon(R.drawable.ic_baseline_notifications_active_24)
addAction(R.drawable.default_icon,"Snooze",taskBuilder)
addAction(R.drawable.default_icon,"Action",taskBuilder)
priority = NotificationCompat.PRIORITY_HIGH
if(isVibrationEnabled){
notification.setVibrate(vibratePattern)
}
}
NotificationManagerCompat.from(applicationContext).notify(counter++,notification.build())
}