单击按钮时Xamarin表单LocalNotification未显示

时间:2017-07-01 20:55:27

标签: c# xamarin.forms

我是Xamarin Forms的新手,我试图在点击按钮时显示本地通知。

我已安装此插件: - https://github.com/B1naryStudio/Xamarin.LocalNotifications - https://www.nuget.org/packages/Xam.Plugin.LocalNotifications/

问题是,插件不起作用。我已经完成了每一步,但我看不出为什么我什么都没有。

这是我的XAML:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="LeafWords.Classes.SettingsLeaf.WordSettings">
    <ContentPage.Content>


        <StackLayout>
            <Button Clicked="WordNotif" Text="Local Notification"></Button>
        </StackLayout>

    </ContentPage.Content>
</ContentPage>

这是我的方法:

  void WordNotif() {

        // Handle when your app starts
        var notification = new LocalNotification
        {
            Text = "Hello Plugin",
            Title = "Nbation Plugin",
            Id = 2,
            NotifyTime = DateTime.Now.AddSeconds(10)
        };

        var notifier = CrossLocalNotifications.CreateLocalNotifier();
        notifier.Notify(notification);

    }

2 个答案:

答案 0 :(得分:1)

我已经检查了LocalNotifications Github页面的设置部分,单独的代码无法使用,您需要将SET_ALARM权限添加到Android清单。

将以下内容添加到AndroidManifest.xml文件中:

<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />

这是最终版本的样子:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto">
  <uses-sdk android:minSdkVersion="15" />
  <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
  <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
  <application android:label="Notification.Android">
    <receiver android:name="localnotifications.plugin.ScheduledAlarmHandler" android:enabled="true"></receiver>
  </application>
</manifest>

我使用您发布的代码对此进行了测试,但效果很好。

Working Code

答案 1 :(得分:0)

我找到了这个链接,它正在工作: https://github.com/edsnider/LocalNotificationsPlugin