在我的应用程序中,我需要向用户显示通知。通过在Android设备标题栏中显示图标和内容标题,以下代码段效果很好。
var notificationManager = GetSystemService(Context.NotificationService) as NotificationManager;
var uiIntent = new Intent(this, typeof(MainActivity));
var notification = new Notification(Resource.Drawable.AppIcon, title);
notification.Flags = NotificationFlags.AutoCancel;
notification.SetLatestEventInfo(this, title, desc, PendingIntent.GetActivity(this, 0, uiIntent, 0));
notificationManager.Notify(1, notification);
当我尝试构建用于部署应用程序的包时,出现以下错误:
Android.App.Notification.SetLatestEventInfo(Android.Content.Context, string,string,Android.App.PendingIntent)'已过时:'已弃用'
所以我找到了我应该使用的代码片段,它显示状态栏中的图标而不是内容标题
Intent resultIntent = new Intent(this, typeof(MainActivity));
PendingIntent pi = PendingIntent.GetActivity(this, 0, resultIntent, 0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(Forms.Context)
.SetContentIntent(pi)
.SetAutoCancel(true)
.SetContentTitle(title)
.SetSmallIcon(Resource.Drawable.AppIcon)
.SetContentText(desc); //This is the icon to display
NotificationManager nm = GetSystemService(Context.NotificationService) as NotificationManager;
nm.Notify(_TipOfTheDayNotificationId, builder.Build());
我需要在新的代码段中设置什么才能在Android设备状态栏中显示内容标题?
答案 0 :(得分:20)
我需要将.setTicker()
添加到第二个代码段,以便在Android设备状态栏中显示文字
答案 1 :(得分:2)
下面的代码对我有用。只是在第二个片段中进行了一些更正。
Intent resultIntent = new Intent(this, TestService.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, resultIntent, 0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext())
.setContentIntent(pi)
.setAutoCancel(true)
.setContentTitle("title")
.setSmallIcon(R.drawable.ic_notif) //add a 24x24 image to the drawable folder
// and call it here
.setContentText("desc");
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify(0, builder.build());