使用NotificationCompat.CallStyle添加自定义按钮操作不起作用(Android)

问题描述 投票:0回答:1

从 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```` 没有显示。

enter image description here

有什么想法我可能会错过吗?

android android-notifications android-14
1个回答
0
投票

您应该尝试使用

CallStyle.forScreeningCall
而不是
CallStyle.forIncommingCall

为正在筛选的呼叫创建 CallStyle。这 通知将有挂断和应答操作,将允许 单个自定义操作,并且将具有用于调用的默认内容文本 正在筛选中。

© www.soinside.com 2019 - 2024. All rights reserved.