繁体   English   中英

Xamarin C#Android Notification在后台恢复活动

[英]Xamarin c# Android Notification resume activity in background

我正在制作一个应用程序,该应用程序在后台运行时会执行一些操作,并在特定情况下发送本地通知。

现在,我想在单击通知时恢复应用程序。

我在StackOverflow中看到了三个线程,并尝试使用标志,但是没有一个起作用。

这是我尝试的:

 Intent resultIntent = new Intent(this, typeof(MainActivity));

        TaskStackBuilder stackBuilder = TaskStackBuilder.Create(this);
        stackBuilder.AddParentStack(Java.Lang.Class.FromType(typeof(MainActivity)));
        stackBuilder.AddNextIntent(resultIntent);

        PendingIntent resultPendingIntent = 
            stackBuilder.GetPendingIntent(0, (int)PendingIntentFlags.CancelCurrent);

        Notification.Builder builder = new Notification.Builder(this)
            .SetContentTitle("Nuove Richieste")
            .SetContentText("Hai nuove richieste da visionare")
            .SetContentIntent(resultPendingIntent)
            .SetDefaults(NotificationDefaults.Sound | NotificationDefaults.Vibrate)
            .SetSmallIcon(Resource.Drawable.add)
            .SetPriority(1);

        Notification notification = builder.Build();

        NotificationManager notificationManager =
            GetSystemService(Context.NotificationService) as NotificationManager;

        const int notificationId = 0;
        notificationManager.Notify(notificationId, notification);

单击通知后,出现黑屏,这是怎么回事?

谢谢

编辑:

问题是另一个,仍然与恢复活动有关,但是问题有所不同:

我有一个计时器,每10秒执行一次数据库查询。 如果没有终止此计时器,则无法显示新活动(或恢复旧活动)。 创建通知时,我可以轻松杀死计时器,因此问题得到解决。

顺便说一句,问题在于没有通知但不是问题的情况。 我将打开另一个问题。

谢谢!

您只需取消活动,就不会显示任何内容。

尝试使用:

PendingIntentFlags.UpdateCurrent

在您的代码中:

PendingIntent resultPendingIntent = stackBuilder.GetPendingIntent(0,(int)PendingIntentFlags.UpdateCurrent);

阅读以获得更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM