我试图在收到来自 firebase 的推送通知时显示通知。
private fun showIncomingCallNotification(title: String?, content: String?){
val fullScreenIntent = Intent(this, MainActivity::class.java)
val fullScreenPendingIntent = PendingIntent.getActivity(this, 5678,
fullScreenIntent, PendingIntent.FLAG_UPDATE_CURRENT)
val notification = NotificationCompat.Builder(this, INCOMING_CALL_ID)
.setSmallIcon(R.drawable.logo)
.setContentTitle(title)
.setContentText(content)
.setPriority(NotificationCompat.PRIORITY_MAX)
.setFullScreenIntent(fullScreenPendingIntent, true)
.setCategory(NotificationCompat.CATEGORY_CALL)
.setVibrate(longArrayOf(1000, 1000, 1000, 1000))
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM))
.setOngoing(true)
.build()
startForeground(1010, notification)
}
private fun createIncomingCallNotificationChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val mChannel = NotificationChannel(INCOMING_CALL_ID, INCOMING_CALL_NAME, NotificationManager.IMPORTANCE_HIGH)
mChannel.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM), null)
mChannel.enableVibration(true)
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(mChannel)
}
}
虽然显示了通知,但声音是默认的通知声音,不会振动。我确保我也在使用振动权限。
<uses-permission android:name="android.permission.VIBRATE" />
有什么想法吗?