Xamarin c# Android通知在后台恢复活动
本文关键字:后台 恢复 活动 通知 Android Xamarin | 更新日期: 2023-09-27 18:13:23
我正在制作一个应用程序,在后台执行一些操作,并在特定情况下发送本地通知。
现在,当通知被点击时,我想恢复应用程序。
我在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);
当通知被点击时,黑屏显示,怎么了?
感谢编辑:问题是另一个,仍然是关于恢复活动,但问题是不同的:
我有一个TIMER每10秒执行一次数据库查询。如果这个计时器没有被杀死,就没有办法显示一个新的活动(或者恢复旧的活动)。当我创建通知时,我可以很容易地杀死计时器,这样问题就解决了。
顺便说一下,问题是当没有通知,但它不是问题的情况。我将开始另一个问题。
谢谢!
您只需取消您的活动,因此没有显示任何内容。
尝试使用:
PendingIntentFlags。UpdateCurrent
在你的代码:
PendingIntent resultPendingIntent =stackBuilder。GetPendingIntent (0,(int) PendingIntentFlags.UpdateCurrent);