我在尝试在 Android Auto 中显示通知时遇到了麻烦。
我已经按照配置指南添加了对 Android Auto 1的支持和 Android Auto 2中的通知支持。但是我不清楚通知的文档。因此,如果我的代码有问题,我会寻求帮助。
目前,通知显示在设备上,但不在 Android auto 上。我正在使用 Desktop Head Unit 3进行测试
谢谢!
fun builder(subject : String, title: String, context: Context) : String {
val ACTION_REPLY = "com.example.native_notification.Notifications.reply"
val ACTION_MARK_AS_READ = "com.example.native_notification.Notifications.mark_as_read"
try {
//Create the NotificationChannel
val channelId = "NOTIFICATION_AUTO";
val name = "Notificaciones android auto";
val descriptionText = "Notify about status of your services";
val importance = NotificationManager.IMPORTANCE_HIGH
val mChannel = NotificationChannel(channelId, name, importance)
mChannel.description = descriptionText;
// Register the channel with the system; you can't change the importance
// or other notification behaviors after this
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(mChannel)
val intent = Intent().apply {
putExtra(EXTRA_MESSAGE, "intent working")
}
val pendingIntent = PendingIntent.getActivity(context, 2 ,intent,PendingIntent.FLAG_UPDATE_CURRENT)
val icon: Icon = Icon.createWithResource(context, R.drawable.ic_logo)
val longMessage: Long = 1
var action: Notification.Action =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
Notification.Action.Builder(icon,
"Ok,", pendingIntent)
.setSemanticAction(Notification.Action.SEMANTIC_ACTION_MARK_AS_READ)
.build()
} else {
TODO("VERSION.SDK_INT < P")
}
val p = Person.Builder().setName("Gopass").build()
val style: Notification.Style = Notification.MessagingStyle(p)
.setConversationTitle("this is a title")
.addMessage(Notification.MessagingStyle
.Message("this is the text", longMessage, p))
val newMessageNotification = Notification.Builder(context, channelId)
.setContentTitle(title)
.setContentText(subject)
.setCategory(Notification.CATEGORY_MESSAGE)
.setSmallIcon(R.drawable.ic_logo)
.setLargeIcon(icon)
.setStyle(style)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.addAction(action)
.extend(Notification.CarExtender())
.build()
return notificationManager.notify(0, newMessageNotification).toString();
}
catch(ex: Exception) {
return ex.toString()
}
}