App Crashing when selecting Contact (and trying to go back) using new Xamarin Essential

I tried using the Xamarin Essential API to pick and display a single contact. Unfortunately, the app goes to the background as soon as I select a contact from my emulator. When trying to select the app from the app dashboard, it returns back to its first page.
Also, when in the contacts window, if I press the back button (hardware back button or the one in the navigation bar), the app crashes. So in both ways, I am not able to access the contact being displayed.
Surprisingly, when I put in breakpoints, I could see the selected contact coming in. I could see all the data.
I am using MvvmCross, and my point of reference was James Montemagno's latest Xamarin.Essential Contact API video and the Contacts API Xamarin.Forms documentation.
Here are my files:
MainActivity.cs
//[Activity(Label = "Vary.Core", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
[Activity(Label = "Vary.Core", MainLauncher = true, Theme = "@style/MainTheme", NoHistory = true)]
public class MainActivity : MvxFormsAppCompatActivity<Setup, Core.MvxApp, App> //MvxFormsAndroidSetup<Core.MvxApp, App> //Setup
{
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
//LoadApplication(new App());
}
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);
}
protected override void OnResume()
{
base.OnResume();
Xamarin.Essentials.Platform.OnResume();
}
protected override void OnPause()
{
base.OnPause();
}
ContactDisplayViewModel.cs --> Method used to select contact on button press
async void OnSelectSingleContactSelected()
{
try
{
var contact = await Contacts.PickContactAsync();
if (contact == null)
return;
var contactInfo = new StringBuilder();
contactInfo.AppendLine(contact.DisplayName);
contactInfo.AppendLine(contact.FamilyName);
contactInfo.AppendLine(contact.Emails.FirstOrDefault().ToString());
contactInfo.AppendLine(contact.Phones.FirstOrDefault().ToString());
IsSingleContactRequired = true;
ContactInformation = contactInfo.ToString();
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
ContactDisplayView.xaml
<Button Grid.Row="0"
Grid.Column="0"
BackgroundColor="Transparent"
Text="Pick A Contact"
Command="{Binding SelectSingleContactCommand}"/>
<Label Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2"
Text="{Binding ContactInformation}"
TextColor="DarkOrange"
IsVisible="{Binding IsSingleContactRequired}"/>
Has anyone encountered this crash, or in general, any crash issue when trying to navigate back to your Xamarin.Forms app from any such native/system defined app?
Here is the application output :
[Mono] Assembly Loader probing location: '/Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/sdks/out/android-x86-release/lib/Xamarin.Forms.Platform.Android.AppLinks.exe'.
[Mono] Assembly Loader probing location: '//Facades/Xamarin.Forms.Platform.Android.AppLinks.exe'.
[Mono] Requesting loading reference 13 (of 22) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll
[Mono] Loading reference 13 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll asmctx DEFAULT, looking for Xamarin.AndroidX.Legacy.Support.Core.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
[Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0xe64638e0] -> Xamarin.AndroidX.Legacy.Support.Core.UI[0xe6461de0]: 2
[Mono] Requesting loading reference 3 (of 4) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.Legacy.Support.Core.UI.dll
[Mono] Loading reference 3 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.Legacy.Support.Core.UI.dll asmctx DEFAULT, looking for Xamarin.AndroidX.DrawerLayout, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
[Mono] Requesting loading reference 2 (of 4) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.Legacy.Support.Core.UI.dll
[Mono] Loading reference 2 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.Legacy.Support.Core.UI.dll asmctx DEFAULT, looking for Java.Interop, Version=0.1.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065
[Mono] Assembly Ref addref Xamarin.AndroidX.Legacy.Support.Core.UI[0xe6461de0] -> Java.Interop[0xe649f180]: 21
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_call_static_int_method_a'.
[Mono] Probing 'java_interop_jnienv_call_static_int_method_a'.
[Mono] Found as 'java_interop_jnienv_call_static_int_method_a'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_call_nonvirtual_int_method_a'.
[Mono] Probing 'java_interop_jnienv_call_nonvirtual_int_method_a'.
[Mono] Found as 'java_interop_jnienv_call_nonvirtual_int_method_a'.
Thread started: #12
[HostConnection] HostConnection::get() New Host Connection established 0xc0ada410, tid 17005
[HostConnection] HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0
[OpenGLRenderer] Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
[eglCodecCommon] setVertexArrayObject: set vao to 0 (0) 0 0
[EGL_emulation] eglCreateContext: 0xe650a220: maj 3 min 0 rcv 3
[EGL_emulation] eglMakeCurrent: 0xe650a220: ver 3 0 (tinfo 0xbe49d190)
[Gralloc3] mapper 3.x is not supported
[HostConnection] createUnique: call
[HostConnection] HostConnection::get() New Host Connection established 0xbe2518a0, tid 17005
[HostConnection] HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_YUV420_888_to_NV21 ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0
[eglCodecCommon] allocate: Ask for block of size 0x1000
[eglCodecCommon] allocate: ioctl allocate returned offset 0x3ff24c000 size 0x2000
[Mono] Requesting loading reference 8 (of 9) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Vary.Core.Android.dll
[Mono] Loading reference 8 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Vary.Core.Android.dll asmctx DEFAULT, looking for Xamarin.Forms.Platform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null
[Mono] Assembly Ref addref Vary.Core.Android[0xe64538c0] -> Xamarin.Forms.Platform[0xe64639a0]: 3
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_call_nonvirtual_float_method_a'.
[Mono] Probing 'java_interop_jnienv_call_nonvirtual_float_method_a'.
[Mono] Found as 'java_interop_jnienv_call_nonvirtual_float_method_a'.
[EGL_emulation] eglMakeCurrent: 0xe650a220: ver 3 0 (tinfo 0xbe49d190)
[eglCodecCommon] setVertexArrayObject: set vao to 0 (0) 1 0
[Mono] Requesting loading reference 11 (of 22) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll
[Mono] Loading reference 11 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll asmctx DEFAULT, looking for Xamarin.AndroidX.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
[Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0xe64638e0] -> Xamarin.AndroidX.Core[0xe6461900]: 7
[Mono] Requesting loading reference 16 (of 22) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll
[Mono] Loading reference 16 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll asmctx DEFAULT, looking for Xamarin.AndroidX.SwipeRefreshLayout, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
[Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0xe64638e0] -> Xamarin.AndroidX.SwipeRefreshLayout[0xe6463040]: 2
[Mono] Requesting loading reference 3 (of 4) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.SwipeRefreshLayout.dll
[Mono] Loading reference 3 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.SwipeRefreshLayout.dll asmctx DEFAULT, looking for Xamarin.AndroidX.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
[Mono] Assembly Ref addref Xamarin.AndroidX.SwipeRefreshLayout[0xe6463040] -> Xamarin.AndroidX.Core[0xe6461900]: 8
[Mono] Requesting loading reference 2 (of 4) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.SwipeRefreshLayout.dll
[Mono] Loading reference 2 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.AndroidX.SwipeRefreshLayout.dll asmctx DEFAULT, looking for Java.Interop, Version=0.1.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065
[Mono] Assembly Ref addref Xamarin.AndroidX.SwipeRefreshLayout[0xe6463040] -> Java.Interop[0xe649f180]: 22
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_call_static_void_method_a'.
[Mono] Probing 'java_interop_jnienv_call_static_void_method_a'.
[Mono] Found as 'java_interop_jnienv_call_static_void_method_a'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_call_float_method_a'.
[Mono] Probing 'java_interop_jnienv_call_float_method_a'.
[Mono] Found as 'java_interop_jnienv_call_float_method_a'.
2021-03-05 03:03:56 [TRACE] (MvxForms) PresentationAttribute not found for ContactDisplayViewModel. Assuming ContentPage presentation
2021-03-05 03:03:56 [TRACE] (MvvmCross.Logging.MvxLog) No view model association found for candidate view MainActivity
2021-03-05 03:03:56 [TRACE] (MvvmCross.Logging.MvxLog) No view model association found for candidate view MainActivity
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_is_assignable_from'.
[Mono] Probing 'java_interop_jnienv_is_assignable_from'.
[Mono] Found as 'java_interop_jnienv_is_assignable_from'.
Resolved pending breakpoint at 'ContactDisplayViewModel.cs:67,1' to void Vary.Core.ViewModels.ContactDisplayViewModel.<OnSelectSingleContactSelected>d__13.MoveNext () [0x0015b].
[Mono] Requesting loading reference 5 (of 8) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Essentials.dll
[Mono] Loading reference 5 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Essentials.dll asmctx DEFAULT, looking for System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
[Mono] Assembly Ref addref Xamarin.Essentials[0xe64636a0] -> System.Core[0xe64a0140]: 9
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_get_object_field'.
[Mono] Probing 'java_interop_jnienv_get_object_field'.
[Mono] Found as 'java_interop_jnienv_get_object_field'.
[EGL_emulation] eglMakeCurrent: 0xe650a220: ver 3 0 (tinfo 0xbe49d190)
[EGL_emulation] eglMakeCurrent: 0xe650a220: ver 3 0 (tinfo 0xbe49d190)
[Mono] Requesting loading reference 12 (of 22) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll
[Mono] Loading reference 12 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll asmctx DEFAULT, looking for System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
[Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0xe64638e0] -> System.Runtime.Serialization[0xe64a17c0]: 4
[Mono] DllImport searching in: 'libmono-native.so' ('./libmono-native.so').
[Mono] Searching for 'SystemNative_MkDir'.
[Mono] Probing 'SystemNative_MkDir'.
[Mono] Found as 'SystemNative_MkDir'.
[Mono] Requesting loading reference 21 (of 22) of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll
[Mono] Loading reference 21 of /storage/emulated/0/Android/data/com.vinayakjuneja.vary/files/.__override__/Xamarin.Forms.Platform.Android.dll asmctx DEFAULT, looking for System.Xml, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
[Mono] Assembly Ref addref Xamarin.Forms.Platform.Android[0xe64638e0] -> System.Xml[0xe64a16a0]: 7
[System] A resource failed to call close.
[System] A resource failed to call close.