alexandr f
alexandr f

Reputation: 313

Local notifications not shown

Help me find the error in the code My MainActivity:

 string CHANNEL_ID = "MyChannel";
 protected override void OnCreate(Bundle savedInstanceState)
        {
            ....
            ...
            CreateNotificationChannel();
            LoadApplication(new App());
        }
        public void CreateNotification(string SetContentTitle, string SetContentText)
        {

            var builder = new NotificationCompat.Builder(this, CHANNEL_ID)
            .SetContentTitle(SetContentTitle)
            .SetContentText(SetContentText)
            .SetChannelId(CHANNEL_ID)
            .SetSmallIcon(Resource.Drawable.icon);

            // Finally, publish the notification:
            var notificationManager = NotificationManagerCompat.From(this);

            // Get the notification manager:
            // NotificationManager notificationManager = GetSystemService(Context.NotificationService) as NotificationManager;

            // Publish the notification:
            int notificationId = 1000;
            notificationManager.Notify(notificationId, builder.Build());




        }

     void CreateNotificationChannel(){
if (Build.VERSION.SdkInt<BuildVersionCodes.O)
                {
                    // Notification channels are new in API 26 (and not a part of the
                    // support library). There is no need to create a notification
                    // channel on older versions of Android.
                    return;
                }
    string name = "MyName";
    var description = "desc";
    var channel = new NotificationChannel(CHANNEL_ID, name, NotificationImportance.High)
    {
        Description = description
    };

    var notificationManager = (NotificationManager)GetSystemService(NotificationService);
    notificationManager.CreateNotificationChannel(channel);
}

and I have a class in which when I need I start displaying local notifications using the code below

var urlOb = new MainActivity();
urlOb.CreateNotification(titleback, textback);

I think I did everything right, but local notifications are not shown.

Upvotes: 0

Views: 84

Answers (1)

Lucas Zhang
Lucas Zhang

Reputation: 18861

You can call the method in other activity

 public static MainActivity instance;

In the method onCreate

//...
base.OnCreate(savedInstanceState);

instance = this;

And you can call it in other method

MainActivity.instance.CreateNotification(titleback, textback);

Upvotes: 1

Related Questions