Xamarin.forms mixing ContentPage and Android Activity
Xamarin forms runs on one activity, which is most like your main activity.
There are two sample projects that show you how to communicate between native and form parts of the code, which can be found here
- https://github.com/xamarin/xamarin-forms-samples/tree/master/Forms2Native
- https://github.com/xamarin/xamarin-forms-samples/tree/master/Native2Forms
However, to answer your question, you would do something like the following
private const int MyRequestCode = 101;
//Start activity for result
var contactPickerIntent = new Intent(Intent.ActionPick, Android.Provider.ContactsContract.Contacts.ContentUri);
context.StartActivityForResult(contactPickerIntent, MyRequestCode);
and then in your main activity (the activity that initializes your xamarin forms application (using global::Xamarin.Forms.Forms.Init(this, bundle);
)
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if (requestCode == MyRequestCode && resultCode == Result.Ok)
{
}
}
Stefan van de Laarschot
Software Developer from the Netherlands Pure Passion And Self Learning ! My Skills: VB.net, C#, Xamarin Forms, IOS, Android, MSSQL, JQuery, Javascript
Updated on June 19, 2022Comments
-
Stefan van de Laarschot almost 2 years
How can I mix both pages together
I want to do something platform specific (Android)
OnActivityResult
but I use a ContentPage in Xamarin.FormsHow do I know in my .Droid project which
activity
it is?Lets say I have a page called
CalendarPage : ContentPage
. Where do I register it in my droid project so I can catch theActivityResult
in that Activity(ContentPage)?I have no clue since I'm new to Xamarin.Forms and learning it.