三天,測試了好多網上的示例,均失敗,最終在StackOverflow找到了能夠成功運作的示例,做了精簡後如下:
重點在于新增的NotificationChannel
private void btnTestNotifyAgain_Click(object sender, System.EventArgs e)
{
NotificationChannel channel = new NotificationChannel(BaseContext.PackageName, "Testing Messages", NotificationImportance.High);
channel.EnableVibration(true);
channel.EnableLights(true);
channel.SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Notification), new AudioAttributes.Builder().SetUsage(AudioUsageKind.Notification).Build());
channel.LockscreenVisibility = NotificationVisibility.Public;
NotificationManager notificationManager = NotificationManager.FromContext(BaseContext);
notificationManager.CreateNotificationChannel(channel);
Notification.Builder builder = new Notification.Builder(BaseContext, BaseContext.PackageName);
builder.SetContentTitle("标題");
builder.SetContentText("StackOverflow例子改寫,忽略判斷版本.");
builder.SetAutoCancel(true);
builder.SetSmallIcon(Resource.Drawable.ic_little_notification);
builder.SetLargeIcon(BitmapFactory.DecodeResource(Resources, Resource.Drawable.monkey_icon));
//在通知中增加圖像
Notification.BigPictureStyle picStyle = new Notification.BigPictureStyle();
picStyle.BigPicture(BitmapFactory.DecodeResource(Resources, Resource.Drawable.x_bldg));
builder.SetStyle(picStyle);
Notification notification = builder.Build();
notificationManager.Notify(1331, notification);
}