protected override void OnActivityResult(int requestCode, Result resultVal, Intent data) { if (requestCode == VOICE) { if (resultVal == Result.Ok) { var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if (matches.Count != 0) { string textInput = textBox.Text + matches[0]; // limit the output to 500 characters if (textInput.Length > 500) textInput = textInput.Substring(0, 500); textBox.Text = textInput; } else textBox.Text = "No speech was recognised"; // change the text back on the button recButton.Text = "Start Recording"; } } base.OnActivityResult(requestCode, resultVal, data); }
/// <summary> /// Process results from started activities. /// </summary> protected override void OnActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == RECOGNIZER_RESULT && resultCode == RESULT_OK) { var matches = data.GetStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); var speechText = FindViewById<TextView>(R.Ids.speechText); recognizedText = matches.Get(0); speechText.SetText(recognizedText); var checkIntent = new Intent(); checkIntent.SetAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); StartActivityForResult(checkIntent, SPEECH_RESULT); } if (requestCode == SPEECH_RESULT) { if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { textToSpeech = new TextToSpeech(this, this); textToSpeech.SetLanguage(Locale.US); } else { // TTS data not yet loaded, try to install it var ttsLoadIntent = new Intent(); ttsLoadIntent.SetAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); StartActivity(ttsLoadIntent); } } base.OnActivityResult(requestCode, resultCode, data); }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == Result.Ok) { // Fill the list view with the strings the recognizer thought it could have heard IList<String> matches = data.GetStringArrayListExtra (RecognizerIntent.ExtraResults); voice_list.Adapter = new ArrayAdapter<String> (this, Android.Resource.Layout.SimpleListItem1, matches); } base.OnActivityResult (requestCode, resultCode, data); }
protected override void OnActivityResult(int requestCode, Result resultVal, Intent data) { if (requestCode == VOICE) { if (resultVal == Result.Ok) { var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); var result = FindViewById<TextView>(Resource.Id.ResultText); result.Text = matches[0].ToString(); } } base.OnActivityResult(requestCode, resultVal, data); }
protected override void OnActivityResult(int requestCode, Result resultVal, Intent data) { if (requestCode == VOICE) { if (resultVal == Result.Ok) { IList<String> matches = data.GetStringArrayListExtra (RecognizerIntent.ExtraResults); string textInput = text.Text + matches [0].ToString (); if (textInput.Length > 500) textInput = textInput.Substring (0, 500); text.Text = textInput; } } base.OnActivityResult (requestCode, resultVal, data); }
protected override void OnActivityResult(int requestCode, Result resultVal, Intent data) { //mediaPlayer.Stop (); //mediaPlayer.Release (); if (requestCode == VOICE) { if (resultVal == Result.Ok) { var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); var result = voiceResultText; result.Text = matches[0].ToString(); if (result.Text == gowlVoiceHallo) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.IchBinGowl); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceStatus) || result.Text.Contains (gowlVoiceStatusAlt)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.AkkuAufladen2); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceErleben)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.NationalparkUndSneglehuset); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceStrand)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.StrandVonSkagen); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceRestaurant)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.Fiskrestaurant); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceBegleiten)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.KommtMit); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceNationalpark)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.InformationNationalparkTys); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceVogelarten)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.VogelArtenOrt); mediaPlayer.Start (); } else if (result.Text.Contains (gowlVoiceFoto)) { MediaPlayer mediaPlayer = MediaPlayer.Create (this, Resource.Raw.SehrGerne); mediaPlayer.Start (); } } } base.OnActivityResult(requestCode, resultVal, data); }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == VOICE) { if (resultCode == Result.Ok) { var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if (matches.Count != 0) { App.fala = matches[0]; Xamarin.Forms.MessagingCenter.Send<BuscaPorVoz.SpeechPage>((BuscaPorVoz.SpeechPage)App._page, "achou"); } else Xamarin.Forms.MessagingCenter.Send<BuscaPorVoz.SpeechPage>((BuscaPorVoz.SpeechPage)App._page, "naoachou"); } else Xamarin.Forms.MessagingCenter.Send<BuscaPorVoz.SpeechPage>((BuscaPorVoz.SpeechPage)App._page, "naoachou"); } else Xamarin.Forms.MessagingCenter.Send<BuscaPorVoz.SpeechPage>((BuscaPorVoz.SpeechPage)App._page, "cancelou"); base.OnActivityResult(requestCode, resultCode, data); }
public override void OnReceive(Context context, Intent intent) { PluginDatabase pluginDb = new PluginDatabase(context); if (intent.Action == Strings.ActionRequestAccess) { var senderPackage = intent.GetStringExtra(Strings.ExtraSender); var requestToken = intent.GetStringExtra(Strings.ExtraRequestToken); var requestedScopes = intent.GetStringArrayListExtra(Strings.ExtraScopes); if (!AreScopesValid(requestedScopes)) { return; } if (pluginDb.GetRequestToken(senderPackage) != requestToken) { Log.Warn(_tag, "Invalid requestToken!"); return; } string currentAccessToken = pluginDb.GetAccessToken(senderPackage); if ((currentAccessToken != null) && (AccessManager.IsSubset(requestedScopes, pluginDb.GetPluginScopes(senderPackage)))) { //permission already there. var i = new Intent(Strings.ActionReceiveAccess); i.PutExtra(Strings.ExtraSender, context.PackageName); i.PutExtra(Strings.ExtraAccessToken, currentAccessToken); //TODO: Plugin should verify requestToken to make sure it doesn't receive accessTokens from malicious apps i.PutExtra(Strings.ExtraRequestToken, requestToken); i.SetPackage(senderPackage); context.SendBroadcast(i); Log.Debug(_tag, "Plugin " + senderPackage + " enabled."); } else { //store that scope was requested but not yet approved (=> accessToken = null) pluginDb.StorePlugin(senderPackage, null, requestedScopes); Log.Debug(_tag, "Plugin " + senderPackage + " not enabled."); //see if the plugin has an access token string accessToken = intent.GetStringExtra(Strings.ExtraAccessToken); if (accessToken != null) { //notify plugin that access token is no longer valid or sufficient Intent i = new Intent(Strings.ActionRevokeAccess); i.PutExtra(Strings.ExtraSender, context.PackageName); i.PutExtra(Strings.ExtraAccessToken, accessToken); i.SetPackage(senderPackage); context.SendBroadcast(i); Log.Warn(_tag, "Access token of plugin " + senderPackage + " not (or no more) valid."); } } if (OnReceivedRequest != null) OnReceivedRequest(this, new PluginHostEventArgs() { Package = senderPackage }); } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { if ((_codeSd == requestCode || _codeDb == requestCode || _codeFtp == requestCode) && resultCode == Result.Ok) { if (data.GetBooleanExtra(Const.ExtraAllowMultiple, false)) { if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBean) { var clip = data.ClipData; var sb = new StringBuilder(); if (clip != null) { for (int i = 0; i < clip.ItemCount; i++) { sb.Append(clip.GetItemAt(i).Uri.ToString()); sb.Append("\n"); } } _textView.Text = sb.ToString(); } else { var paths = data.GetStringArrayListExtra(Const.ExtraPaths); StringBuilder sb = new StringBuilder(); if (paths != null) { foreach (var path in paths) { sb.Append(path); sb.Append("\n"); } } _textView.Text = sb.ToString(); } } else { _textView.Text = data.Data.ToString(); } } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult (requestCode, resultCode, data); switch (requestCode) { case 1: if (resultCode == Result.Ok) { if (data.Data == null) { string filename = data.GetStringExtra ("filename"); Photoalbums.PhotoPickerUtil.names.Insert (0, filename); using (Drawable draw = Drawable.CreateFromPath(filename)) { imgPollPhoto [0].SetImageDrawable (draw); imgData1 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [0]); } } else { Photoalbums.PhotoPickerUtil.names.Insert (0, getRealPathFromUri (data.Data)); using (Drawable draw = Drawable.CreateFromPath (Photoalbums.PhotoPickerUtil.names[0])) { imgPollPhoto [0].SetImageDrawable (draw); imgData1 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [0]); } } } break; case 2: if (resultCode == Result.Ok) { if (data.Data == null) { string filename = data.GetStringExtra ("filename"); Photoalbums.PhotoPickerUtil.names.Insert (1, filename); using (Drawable draw = Drawable.CreateFromPath(filename)) { imgPollPhoto [1].SetImageDrawable (draw); imgData2 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [1]); } } else { Photoalbums.PhotoPickerUtil.names.Insert (1, getRealPathFromUri (data.Data)); using (Drawable draw = Drawable.CreateFromPath (Photoalbums.PhotoPickerUtil.names[1])) { imgPollPhoto [1].SetImageDrawable (draw); imgData2 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [1]); } } } break; case 3: if (resultCode == Result.Ok) { if (data.Data == null) { string filename = data.GetStringExtra ("filename"); Photoalbums.PhotoPickerUtil.names.Insert (1, filename); using (Drawable draw = Drawable.CreateFromPath(filename)) { imgPollPhoto [2].SetImageDrawable (draw); imgData3 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [2]); } } else { Photoalbums.PhotoPickerUtil.names.Insert (2, getRealPathFromUri (data.Data)); using (Drawable draw = Drawable.CreateFromPath (Photoalbums.PhotoPickerUtil.names[2])) { imgPollPhoto [2].SetImageDrawable (draw); imgData3 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [2]); } } } break; case 4: if (resultCode == Result.Ok) { if (data.Data == null) { string filename = data.GetStringExtra ("filename"); Photoalbums.PhotoPickerUtil.names.Insert (1, filename); using (Drawable draw = Drawable.CreateFromPath(filename)) { imgPollPhoto [3].SetImageDrawable (draw); imgData4 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [3]); } } else { Photoalbums.PhotoPickerUtil.names.Insert (3, getRealPathFromUri (data.Data)); using (Drawable draw = Drawable.CreateFromPath (Photoalbums.PhotoPickerUtil.names[3])) { imgPollPhoto [3].SetImageDrawable (draw); imgData4 = File.ReadAllBytes (Photoalbums.PhotoPickerUtil.names [3]); } } } break; case 5: if (resultCode == Result.Ok) { IList<String> matches = data.GetStringArrayListExtra (RecognizerIntent.ExtraResults); string textInput = matches [0].ToString (); if (textInput.Length > 200) textInput = textInput.Substring (0, 500); txtPhotoPollMessage.Text = textInput; } break; } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == 0 && resultCode == Result.Ok) { // Populate the wordsList with the String values the recognition engine thought it heard var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if(matches.Count == 0) { Speak("Heard nothing."); } else { var newTask = matches[0]; m_TaskEditText.Text = newTask; Speak(newTask); } } base.OnActivityResult(requestCode, resultCode, data); }
protected override void OnActivityResult (int requestCode, Result resultCode, Intent data) { Console.WriteLine (resultCode.ToString ()); if (requestCode == 1 && data != null) { var text = data.GetStringArrayListExtra (RecognizerIntent.ExtraResults); FindViewById<EditText> (Resource.Id.edText).Text += System.Environment.NewLine + text[0]; //Print the result Console.WriteLine (text[0]); } }