我正在构建一个单声道Android应用程序,它接收来自GCM的通知,并在用户点击通知时打开一个活动。
当通知创建的活动实例已存在并且是应用程序中的当前活动活动时,会出现问题。单击通知后,将在应用程序中创建重复活动。问题很微妙,因为新的重复活动在前台打开并且看起来与之前的活动相同,但是当用户单击后退按钮时,重复的活动被终止,但之前的活动仍然意味着用户必须再次单击两次按钮。
以下是用于生成通知并在点击时创建活动的当前代码。我希望这个过程就像是,如果活动存在,那么打开现有活动,否则开始新的活动。感谢任何帮助,谢谢。
void createNotification(string title, string desc)
{
//Create notification
var notificationManager = GetSystemService(Context.NotificationService) as NotificationManager;
//Create an intent to show ui
var uiIntent = new Intent(this, typeof(Messaging));
//Create the notification
var notification = new Notification(Android.Resource.Drawable.SymActionEmail, title);
notification.Defaults = NotificationDefaults.Sound;
//Auto cancel will remove the notification once the user touches it
notification.Flags = NotificationFlags.AutoCancel;
//Set the notification info
//we use the pending intent, passing our ui intent over which will get called
//when the notification is tapped.
notification.SetLatestEventInfo(this, title, desc, PendingIntent.GetActivity(this, 0, uiIntent, 0));
//Show the notification
notificationManager.Notify(1, notification);
}
答案 0 :(得分:0)
试试这个
Intent intent = new Intent(context, MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);