Push notification 当应用程序未在后台运行时,如何处理xamarin android推送通知单击处理程序
当用户单击推送通知时,我尝试导航到特定屏幕。当应用程序在后台运行时,它可以正常工作,但当我从后台删除应用程序,同时单击推送通知时,它会导航到应用程序的第一页,而不是特定页面。当应用程序也不在后台运行时,请提出导航到特定页面的任何想法。我使用了下面的代码,工作正常Push notification 当应用程序未在后台运行时,如何处理xamarin android推送通知单击处理程序,push-notification,xamarin.android,Push Notification,Xamarin.android,当用户单击推送通知时,我尝试导航到特定屏幕。当应用程序在后台运行时,它可以正常工作,但当我从后台删除应用程序,同时单击推送通知时,它会导航到应用程序的第一页,而不是特定页面。当应用程序也不在后台运行时,请提出导航到特定页面的任何想法。我使用了下面的代码,工作正常 Intent i = new Intent(context, typeof(SpecificActiivty)); i.SetFlags(ActivityFlags.SingleTop | ActivityFlags.ClearTo
Intent i = new Intent(context, typeof(SpecificActiivty));
i.SetFlags(ActivityFlags.SingleTop | ActivityFlags.ClearTop);
PendingIntent intent = PendingIntent.GetActivity(context, 0, i, PendingIntentFlags.UpdateCurrent);
builder.SetContentIntent(intent);
我编辑的答案
namespace Example
{
[Service]
public class GcmService : GcmServiceBase
{
protected override void OnMessage(Context context, Intent intent)
{
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
Intent i;
DateTime date = DateTime.Now;
i = new Intent(context, typeof(SpecificActiivty));
i.SetFlags(ActivityFlags.SingleTop | ActivityFlags.ClearTop);
PendingIntent intent = PendingIntent.GetActivity(context, 0, i, PendingIntentFlags.UpdateCurrent);
builder.SetContentIntent(intent);
builder.SetSmallIcon(Resource.Drawable.ic_notificationicon);
builder.SetAutoCancel(true);
Notification notification = builder.Build();
builder.SetSound(Settings.System.DefaultNotificationUri);
Android.Net.Uri notify = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
Ringtone r = RingtoneManager.GetRingtone(context, notify);
r.Play();
NotificationManager nm = GetSystemService(Context.NotificationService) as NotificationManager;
int customid = date.Day + date.Month + date.Hour + date.Minute + date.Millisecond;
nm.Notify(customid, notification);
}
}
}
这里SpecificActivity是您希望在点击通知时打开的特定页面谢谢sunita,我可以在这里添加此代码以及该特定活动是什么。