打开现有活动 - mono for android

时间:2013-04-09 23:05:29

标签: android mono notifications android-activity

我正在构建一个单声道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);
}

1 个答案:

答案 0 :(得分:0)

试试这个

Intent intent = new Intent(context, MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);