android - Android Auto,如何用 MessagingStyle 替换 CarExtender(已弃用)
问题描述
所以我有一个应用程序,作为附带操作,向 Android Auto 发送通知(不仅仅是向 AA,还有其他通知)。
到目前为止,我们只是将 UnreadConversation 添加到 NotificationCompat.Builder
val builder = NotificationCompat.Builder(context, notificationHolder.channelID)
...
if (unreadConversationForAndroidAuto != null) {
builder.extend(NotificationCompat.CarExtender()
.setUnreadConversation(unreadConversationForAndroidAuto))
}
NotificationCompat.CarExtender().setUnreadConversation() 现在已弃用,我找不到任何有关如何添加 MessagingStyle(这是取代 UnreadConversation 的)作为通知的附加消息的文档。
我不想发送 2 条不同的消息,而我们之前只发送了一条。我怎样才能最简单地重构它以走新路。
解决方案
以前,你会有
builder.setContentTitle(notificationDetails)
.setSmallIcon(R.drawable.smarter_garage_icon)
.setContentText("Click notification to return to app")
.setContentIntent(notificationPendingIntent)
.setContentTitle( "content title" )
.setWhen( Calendar.getInstance().get( Calendar.SECOND ) )
.extend(new NotificationCompat.CarExtender()
.setUnreadConversation(getUnreadConversation(context) ) );
现在您需要新方法,您可以尝试如下:
import androidx.core.app.NotificationCompat.MessagingStyle.Message;
// Define the notification settings.
builder.setContentTitle(notificationDetails)
.setSmallIcon(R.drawable.smarter_garage_icon)
.setContentText("Click notification to return to app")
.setContentIntent(notificationPendingIntent)
.setContentTitle( "content title" )
.setWhen( Calendar.getInstance().get( Calendar.SECOND ) )
.setStyle(new NotificationCompat.InboxStyle()).setTimeoutAfter(10000).setContentText("Hello").addPerson(new Person.Builder().build()).build();
推荐阅读
- python - 如何将列表中的所有项目一一删除并在删除后同时打印
- c++ - 折叠表达式、参数包扩展、类成员函数中的递归
- javascript - 检查map中是否存在key
- java - 回滚多个服务
- crystal-reports - 如何在水晶报表中使用公式显示和隐藏 LineObject?
- c# - HttpClient - 任务被取消
- tomcat - Intellij-IDEA 可以在 tomcat 中启动和调试 jersey 应用程序,但是将战争部署到 tomcat 得到 404
- python-3.x - 在python中绘制数据后不显示X轴
- tomcat - 服务器上多个 tomcat 实例的 ansible 代码
- datetime - 与 Twig 的总日期