xamarin - 转换为 NotificationCompat 会破坏 SetSmallIcon 功能?
问题描述
我在将 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);
推荐阅读
- python - 从 Panda 数据系列中删除多行时 Jupyter 崩溃
- rdbms - OWL 到关系转换工具
- swift - 显示最近的消息错误:无法从构建环境获取 Google 服务文件中的 GOOGLE_APP_ID
- javascript - 如何格式化Vuetify数据表日期列?
- powershell - 等待进程窗口被激活
- mysql - 使用 IF 语句和子查询在 mysql 查询中出错
- azure - 使用 Azure 数据工厂从 Excel 或 CSV 文件复制数据并对输入文件执行转换
- angular-ui-bootstrap - 图标 glyphicon 未显示在 bootstrap4 角度
- amazon-web-services - 由于 ENI 问题,使用 aws_vpc 的 ECS 服务无法启动
- python - 这个将“字符串”视为“列表”的回文代码如何工作?