私はMainActivity
とMessageInboxActivity
のアプリケーションを持っています。ユーザーがアプリケーションをバックグラウンドにしてメッセージを受け取った場合、私はローカル通知を表示します。ユーザーが通知をタップすると、現在実行中のMainActivity
を再開します。しかし、私のテストでは、現在のMainActivity
を破棄して、MessageInboxActivity
を表示してから、戻るボタンを押すと新しいMainActivity
が作成されます。 通知で既存のアクティビティを開く
private void SendLocalNotification()
{
var notificationID = 1;
var title = "New Message";
var message = Constants.Message.NewMessageNotificationText;
var builder = new NotificationCompat.Builder(Application.Context);
builder.SetContentTitle(title);
builder.SetContentText(message);
builder.SetAutoCancel(true);
builder.SetSmallIcon(Resource.Drawable.pn_message_icon);
var mainIntent = new Intent(this, typeof(MainActivity));
var finalIntent = new Intent(this, typeof(MessageInboxActivity));
var stackBuilder = Android.Support.V4.App.TaskStackBuilder.Create(Application.Context);
stackBuilder.AddNextIntent(mainIntent);
stackBuilder.AddNextIntent(finalIntent);
var resultPendingIntent = stackBuilder.GetPendingIntent(0, (int)PendingIntentFlags.UpdateCurrent);
builder.SetContentIntent(resultPendingIntent);
var notificationManager = NotificationManagerCompat.From(Application.Context);
notificationManager.Notify(notificationID, builder.Build());
}
MainActivity
LaunchMode=SingleTask
として設定されています。
[Activity(Label = "MainActivity", Theme = "@style/MyTheme",
WindowSoftInputMode = SoftInput.AdjustPan, ScreenOrientation = ScreenOrientation.Portrait,
LaunchMode = LaunchMode.SingleTask)]
public class MainActivity : BaseActivity
どのように私は、既存のMainActivity
ではなく、新しいもののために破壊されるのを続行することができますか?私はいくつかの検索をして、私は正しく答えに従っていると思ったが、何も動作していないようだ。