我一直在将Notification移动到Compat库版本时遇到一些麻烦:在主库中,我曾经只是将图标转换为位图(api 23及以上)并执行SetSmallIcon(icon)以显示动态通知图标。
但Compat版本只有一个int参数(我假设它是资源ID),我找不到任何关于如何生成/转换/添加我的位图和/或图标的信息。
位图基本上是通过画布生成的文本转换为位图,显示最重要的信息。
我的问题是:有没有办法让一个类变量成为一个资源,或者得到一个像资源ID一样工作的ID,或者其他一些黑客,它可以让我实际添加我在运行时创建的位图?
您可以使用此代码。请参阅使用icon
的行
var notificationBuilder = new NotificationCompat.Builder(this)
.SetSmallIcon(Resource.Drawable.NotifIconSis).SetColor(Android.Graphics.Color.Rgb(33, 150, 243))
.SetContentTitle(user.Organization)
.SetSubText(user.ModuleName).SetStyle(new NotificationCompat.BigTextStyle().BigText(user.BodyText))
.SetContentText(user.BodyText)
.SetAutoCancel(true)
.SetContentIntent(pendingIntent)
.Build();
var notificationManager = NotificationManagerCompat.From(Application.Context);
//var notification = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
//var mp = MediaPlayer.Create(ApplicationContext, notification);
//mp.Start();
//notificationManager.Notify(redomId, notificationBuilder);