使用Xam.Plugins.Notifier在Xamarin.Forms中实现本地通知

时间:2017-12-07 06:59:26

标签: xamarin.forms xamarin.android android-notifications

我使用Xam.Plugins.Notifier在Xamarin.Forms中实现了本地通知。我在PCL,iOS和Android中添加了Nuget Package。 下面的代码显示通知。我在PCL中写了下面的代码块

CrossLocalNotifications.Current.Show(" test" +"" +" New test"," Some Notification",5,DateTime .Now.AddSeconds(8));

我在AppDelegate.CS中添加了以下代码

if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
        {
            // iOS 10.0+
            UNUserNotificationCenter.Current.RequestAuthorization(
                UNAuthorizationOptions.Alert | UNAuthorizationOptions.Badge | UNAuthorizationOptions.Sound,
                (approved, error) => { });

            UNUserNotificationCenter.Current.Delegate = new UserNotificationCenterDelegate();
        }

我可以在iOS中收到通知,但我没有在Android中收到通知。我是否需要在MainActivity.cs中添加任何代码 有人可以帮我解决这个问题吗?

仅供参考:https://github.com/edsnider/LocalNotificationsPlugin

1 个答案:

答案 0 :(得分:1)

正如文件所说,你的代码:

CrossLocalNotifications.Current.Show("test" + " " + " New test", "Some Notification", 5, DateTime.Now.AddSeconds(8));

它会在预定的日期/时间显示本地通知,您的通知将在8秒延迟后显示。

如果您想立即显示本地通知,可以尝试使用:

CrossLocalNotifications.Current.Show("title", "body");

它在我身边很好。

更新:

您错过了显示通知的内容。

根据官方文件:  Notification对象必须包含以下内容:

  1. SetSmallIcon()

  2. 设置的小图标
  3. 标题,由SetContentTitle()

  4. 设置
  5. 详细信息文本,由SetContentText()

  6. 设置

    请参阅http://developer.android.com/guide/topics/ui/notifiers/notifications.html