While testing an Android application that contains a couple of Entry textboxes and a map with geolocation enabled, I found that if I clicked the back button on Android while the on-screen keyboard was up (that is, while inserting text on one of the Entries), the app would crash and I'd get the following exception logged on the debug output:
UNHANDLED EXCEPTION: System.NotSupportedException: Unable to activate instance of type Xamarin.Forms.Maps.Android.MapRenderer
from native handle b250001d --->
System.MissingMethodException: No constructor found for Xamarin.Forms.Maps.Android.MapRenderer::.ctor(System.IntPtr, Android.Runtime.JniHandleOwnership) --->
Java.Interop.JavaLocationException: Exception of type 'Java.Interop.JavaLocationException' was thrown.
Whole stack trace here: http://pastebin.com/hDAS4JLV
Some things to keep in mind:
1 - The keyboard types used on those textboxes are Text and Telephone.
2 - Contrary to what the stack trace tells, I am not using the camera at all on the application.
3 - The MapRenderer does not come with such a constructor on Xamarin Forms. Mind you, I'm using Xamarin.Forms 1.2.3 (the -Pre version).
4 - I tried adding a Custom Map Renderer with a dummy constructor that accepted the required params according to the exception, to no avail.
5 - This does not happen on any other (tested) situation, only when the on-screen keyboard is displayed.
6 - This does not happen in the iOS version.
7 - The same steps were tested on several devices (Galaxy Nexus, Galaxy S5, Alcatel One Touch) with the same result.
If there's anything else that I may be missing to help solve this issue, don't hesitate to reply!
Thanks in advance.