从 Android 12 开始,引入了 CallStyle,用于创建与通话相关的通知。 我使用NotificationCompat 来支持向后兼容性。如果使用通知库,一切正常,但当我使用NotificationCompat时,我遇到了问题。
这基本上就是我创建来电通知的方式。
NotificationCompat.Builder(this, notifificationChannelId)
.setSmallIcon(android.R.drawable.ic_menu_call)
.setContentTitle("Caller 1")
.setContentText("Incoming Call")
.setAutoCancel(true)
.addAction(extraAction1)
.setStyle(NotificationCompat.CallStyle.forIncomingCall(
caller,
pendingServiceIntent,
pendingServiceIntent
))
.setContentIntent(pendingActivityIntent)
.setFullScreenIntent(pendingActivityIntent, true)
.setOngoing(true)
.setOnlyAlertOnce(true)
.addPerson(caller)
.setColorized(true)
.build()
在这一行中,
.addAction(extraAction1)
这将是自定义操作。根据 Android 文档,我们应该能够添加一个自定义操作。
但似乎根本不起作用。默认按钮(拒绝和应答)显示了,但我添加的自定义操作 ```extraAction1```` 没有显示。
有什么想法我可能会错过吗?
您应该尝试使用
CallStyle.forScreeningCall
而不是 CallStyle.forIncommingCall
为正在筛选的呼叫创建 CallStyle。这 通知将有挂断和应答操作,将允许 单个自定义操作,并且将具有用于调用的默认内容文本 正在筛选中。