Xamarin Android.Speech recognizer intent doesn't call OnActivityResult
<p>When I am using the Speech Recognizer Intent in android. The intent never calls the OnActivityResult method. The debugger never catches it on the first line of the method. This code is modified from the example <a href="https://developer.xamarin.com/guides/android/platform_features/speech/" rel="nofollow">here</a> to incorporate Xamarin Forms. </p>

<pre><code>private const int Voice = 10;

public void RecordSpeech()
{
    Intent voiceIntent = new Intent(RecognizerIntent.ActionRecognizeSpeech);
    voiceIntent.PutExtra(RecognizerIntent.ExtraLanguageModel, RecognizerIntent.LanguageModelFreeForm);
    voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputCompleteSilenceLengthMillis, 1500);
    voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputPossiblyCompleteSilenceLengthMillis, 1500);
    voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputMinimumLengthMillis, 15000);
    voiceIntent.PutExtra(RecognizerIntent.ExtraMaxResults, 1);
    voiceIntent.PutExtra(RecognizerIntent.ExtraLanguage, Java.Util.Locale.Default);
    ((Activity)Forms.Context).StartActivityForResult(voiceIntent, Voice);
    //This doesn't work either
    //((Activity)Forms.Context).StartActivityForResult(Intent.CreateChooser(new Intent(voiceIntent), "voiceIntent"), Voice);
}

protected override void OnActivityResult(int requestCode, Result resultVal, Intent data)
{ //A break point here doesn't work
    Debug.WriteLine("Debug");
    if (requestCode == Voice)
    {
        if (resultVal == Result.Ok)
        {
                IList&lt;string&gt; matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults);
            if (matches.Count != 0)
            {
                Debug.WriteLine(matches[0]);
            }
        }
    }
    base.OnActivityResult(requestCode, resultVal, data);
}
</code></pre>