问题
In my application I need to display notification to the user. The following code snippet worked great by display the icon and content title in the Android device title bar.
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);
When I tried to build the package for deploying the application, I get the following error:
Android.App.Notification.SetLatestEventInfo(Android.Content.Context, string, string, Android.App.PendingIntent)' is obsolete: 'deprecated'
So I found this code snippet I should be using and it shows the icon in the status bar by not the content title
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());
What do I need to set in the new code snippet to display the content title in the android device status bar?
回答1:
I need to add .setTicker()
to the second code snippet to have text display in the Android device status bar
回答2:
Below code worked for me. Just a few corrections in the second snippet.
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());
来源:https://stackoverflow.com/questions/25734370/display-notification-text-in-status-bar-android