当应用程序在后台时,通知不会显示

时间:2016-12-24 00:04:18

标签: c# android xamarin notifications

几天前我开始开发android。我的应用需要每天早晚发送通知。如果应用程序位于前台,如果它处于后台通知中,则无法显示。

private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            if (e.ProgressPercentage == 2)
            {
                GenerateMorningNotification();
            }
            else if (e.ProgressPercentage == 3)
            {
                GenerateEveningNotification();
            }
        }

我使用后台工作者,在进度改变事件中我使用了一种生成通知的方法,例如:

private void GenerisiJutarnjuNotifikaciju()
{
    Notification.Builder builder = new Notification.Builder(this)
        .SetContentTitle("Dobro jutro")
        .SetStyle(new Notification.BigTextStyle().BigText(poruke.RandomPoruka()))
        .SetSmallIcon(Resource.Drawable.Icon);

    Notification notification = builder.Build();

    NotificationManager notificationManager = GetSystemService(Context.NotificationService) as NotificationManager;
    const int notificationId = 0;
    notificationManager.Notify(notificationId, notification);        
}

有关我应该更改的内容的任何建议?我正在为我的女朋友生日开发这个应用程序,所以我有点匆忙。如果有人可以提供帮助,我将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

我认为使用Alarm设置AlarmManager以触发BroadcastReceiver的设置通常是您希望在特定时间发生某些事情时使用的内容,即使该应用不是在前台。

这里的代码详细介绍了如何完成:Send notification once in a week