[英]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.