I understand that OnActivityResult should be called immediately before OnResume in an Activity but that's not happening for me. I'm finding it gets called before OnResume, and even before OnStart. My sample code is below, I'm breakpointing the relevant methods to see what's happening. What's going on?
Activity 1
using System;
using System.Collections.Generic;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Content.PM;
namespace LifecycleTest
{
[Activity(MainLauncher = true)]
public class Activity1 : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
this.SetContentView(Resource.Layout.Main);
this.FindViewById<Button>(Resource.Id.button1).Text = "Start Activity 2";
this.FindViewById<Button>(Resource.Id.button1).Click += button_Click;
}
void button_Click(object sender, EventArgs e)
{
Intent i = new Intent(this, typeof(Activity2));
this.StartActivityForResult(i, 1);
}
protected override void OnStop()
{
base.OnStop();
}
protected override void OnResume()
{
base.OnResume();
}
protected override void OnStart()
{
base.OnStart();
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
}
}
}
Activity 2
using System;
using System.Collections.Generic;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Content.PM;
namespace LifecycleTest
{
[Activity]
public class Activity2 : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
this.SetContentView(Resource.Layout.Main);
this.FindViewById<Button>(Resource.Id.button1).Text = "Return Result";
this.FindViewById<Button>(Resource.Id.button1).Click += button_Click;
}
void button_Click(object sender, EventArgs e)
{
this.SetResult(Result.Ok);
this.Finish();
}
}
}
Layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<Button
android:text="Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/button1" />
</LinearLayout>