Android 12 In/out-call 通知和显眼的筹码
Android 12 In/out-call notification and prominent chip
根据 Android 12 文档,有一个特殊的 in/out-call 通知会显示调用 'prominent chip'.
看起来像这样:
我尝试使用 Android 示例中的代码:
// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
.setName("Jane Doe")
.setImportant(true)
.build();
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
.setContentIntent(contentIntent)
.setSmallIcon(smallIcon)
.setStyle(
Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
.addPerson(incoming_caller);
在我的应用程序中,我使用 NotificationCompat
和 NotificationCompat.Builder
但是这一行 Notification.CallStyle.forIncomingCall
是指非 Compat
版本,所以我不能将 forIncomingCall
的逻辑用于我现有的通知。
AndroidX 的 NotificationCompat
class 尚未更新以包含此新样式 - 您可以在 https://cs.android.com 上搜索 NotificationCompat
以查看最新版本文件,然后您将不得不等待 androidx.core:core
库的新版本。
同时,如果您想使用新的调用方式,您必须使用平台 Notification
类型:
if (Build.VERSION.SDK_INT >= 31) {
// Use Notification with Notification.CallStyle
} else {
// use NotificationCompat
}
根据 Android 12 文档,有一个特殊的 in/out-call 通知会显示调用 'prominent chip'.
看起来像这样:
我尝试使用 Android 示例中的代码:
// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
.setName("Jane Doe")
.setImportant(true)
.build();
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
.setContentIntent(contentIntent)
.setSmallIcon(smallIcon)
.setStyle(
Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
.addPerson(incoming_caller);
在我的应用程序中,我使用 NotificationCompat
和 NotificationCompat.Builder
但是这一行 Notification.CallStyle.forIncomingCall
是指非 Compat
版本,所以我不能将 forIncomingCall
的逻辑用于我现有的通知。
AndroidX 的 NotificationCompat
class 尚未更新以包含此新样式 - 您可以在 https://cs.android.com 上搜索 NotificationCompat
以查看最新版本文件,然后您将不得不等待 androidx.core:core
库的新版本。
同时,如果您想使用新的调用方式,您必须使用平台 Notification
类型:
if (Build.VERSION.SDK_INT >= 31) {
// Use Notification with Notification.CallStyle
} else {
// use NotificationCompat
}