在Xamarin Android中点击Push Notifications唤醒应用程序

时间:2016-08-23 14:00:03

标签: xamarin push-notification xamarin.android xamarin.forms

我正在尝试将推送通知集成到应用程序中。 我试图实现的行为是从后台唤醒应用程序并恢复到以前的状态。 但控件总是来protected override void OnCreate (Bundle bundle) 最初然后在点击通知消息而不是来时OnResume 到protected async override void OnResume(). 因此,应用程序始终重新启动而不是唤醒。

如何在点击通知时唤醒应用而不是重新启动。?

以下是创建通知的方式。

private void CreateNotification(string title, string desc, string type)
        {           
            Random random = new Random();
            int id = random.Next(9999 - 1000) + 1000;
            const int pendingIntentId = id;
            const int notificationId = id;

            var startupIntent = new Intent(this, typeof(MainActivity));         
            var stackBuilder = TaskStackBuilder.Create(this);

            stackBuilder.AddParentStack(Java.Lang.Class.FromType(typeof(MainActivity)));
            stackBuilder.AddNextIntent(startupIntent);

            var pendingIntent =         
                stackBuilder.GetPendingIntent(pendingIntentId, PendingIntentFlags.OneShot);

            var builder = new Notification.Builder(this)
                .SetContentIntent(pendingIntent)
                .SetContentTitle(title)
                .SetContentText(desc)
                .SetSmallIcon(Resource.Drawable.appicon);

            var notification = builder.Build();
            notification.Flags = NotificationFlags.AutoCancel;

            var notificationManager =
                GetSystemService(NotificationService) as NotificationManager;

            notificationManager.Notify(notificationId, notification);
        }

其他情况,例如应用未运行且处于前台的情况正在按预期工作。

0 个答案:

没有答案