C# 单击通知打开新的临时活动页面,然后返回主活动(Xamarin Android)

C# 单击通知打开新的临时活动页面,然后返回主活动(Xamarin Android),c#,xamarin,android-activity,xamarin.android,notifications,C#,Xamarin,Android Activity,Xamarin.android,Notifications,这个问题涉及到。现在,添加了方法sendnofification。我有两项活动: [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)] public class MainActivity : AppCompatActivity { DateTime time = DateTime.Now; void SendNofitic

这个问题涉及到。现在,添加了方法
sendnofification
。我有两项活动:

[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
    DateTime time = DateTime.Now;
    void SendNofitication(string title, string text)
    {
        TaskStackBuilder stack_builder = TaskStackBuilder.Create(this);
        stack_builder.AddParentStack(Java.Lang.Class.FromType(typeof(Activity2)));
          Intent intent = new Intent(this, typeof(Activity2));
        stack_builder.AddNextIntent(intent);

        PendingIntent pending_intent = stack_builder.GetPendingIntent(0, PendingIntentFlags.UpdateCurrent);
        Android.Support.V4.App.NotificationCompat.Builder builder = new Android.Support.V4.App.NotificationCompat.Builder(this);
        builder.SetAutoCancel(true);
        builder.SetContentIntent(pending_intent);
        builder.SetContentTitle(title);
        builder.SetSmallIcon(Resource.Drawable.icon1);
        builder.SetContentText(text);
        NotificationManager notification_manager = (NotificationManager)GetSystemService(Context.NotificationService);
        notification_manager.Notify(1000, builder.Build());
    }
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        SetContentView(Resource.Layout.activity_main);

        var button = FindViewById<Button>(Resource.Id.button);
        button.Text = "Button created at " + time.ToString();
        button.Click += (s, e) =>
        {
             /*Intent intent = new Intent(this, typeof(Activity2));
             StartActivity(intent);*/
            SendNofitication("title", "message");
        };
    }
    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
}
[活动(标签=“@string/app_name”,Theme=“@style/AppTheme”,MainLauncher=true)]
公共类MainActivity:AppCompativeActivity
{
DateTime=DateTime.Now;
void sendnofification(字符串标题、字符串文本)
{
TaskStackBuilder stack_builder=TaskStackBuilder.Create(此);
stack_builder.AddParentStack(Java.Lang.Class.FromType(typeof(Activity2));
意向意向=新意向(此,类型为(活动2));
stack_builder.AddNextIntent(意向);
PendingEvent pending_intent=stack_builder.GetPendingEvent(0,PendingEventFlags.UpdateCurrent);
Android.Support.V4.App.NotificationCompat.Builder=新的Android.Support.V4.App.NotificationCompat.Builder(此);
builder.SetAutoCancel(true);
builder.SetContentIntent(待定);
builder.SetContentTitle(标题);
builder.SetSmallIcon(Resource.Drawable.icon1);
builder.SetContentText(文本);
NotificationManager notification_manager=(NotificationManager)GetSystemService(Context.NotificationService);
notification_manager.Notify(1000,builder.Build());
}
创建时受保护的覆盖无效(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(这个,savedInstanceState);
SetContentView(Resource.Layout.activity_main);
var button=findviewbyd(Resource.Id.button);
button.Text=“在“+time.ToString()创建的按钮”;
按钮。单击+=(s,e)=>
{
/*意向意向=新意向(此,类型为(活动2));
星触觉(意向)*/
发送确认(“标题”、“消息”);
};
}
public override void OnRequestPermissionsResult(int-requestCode,string[]permissions,[GeneratedEnum]Android.Content.PM.Permission[]grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(请求代码、权限、GrantResult);
base.OnRequestPermissionsResult(请求代码、权限、GrantResult);
}
}
以及:

[活动(Label=“Activity2”)]
公共课堂活动2:活动
{
创建时受保护的覆盖无效(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity2);
Button Button\u close=FindViewById(Resource.Id.Button\u close);
按钮关闭。单击+=(s,e)=>
{
完成();
};
}
}
在这里,我有一个类似的问题:点击
按钮
会显示一个android通知。单击通知会打开
Activity2
页面的新实例,并隐藏
MainActivity
页面的现有实例<代码>按钮\u关闭关闭活动2,但它也会完全关闭应用程序!但是,我可以在Android Emulator中重新激活该应用程序,方法是在最小化应用程序列表中查找并单击它


通过单击
close_按钮
我想返回到
MainActivity
页面的上一个实例。我该怎么做?或者我的
SendNotification
代码中有什么错误导致应用程序关闭?

这里有一个类似的问题可能会对您有所帮助。请参阅。
[Activity(Label = "Activity2")]
public class Activity2 : Activity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity2);

        Button button_close = FindViewById<Button>(Resource.Id.button_close);

        button_close.Click += (s, e) =>
        {
            Finish();
        };
    }
}