protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); var resultEventArgs = new PreferenceManager.ActivityResultEventArgs(true, requestCode, resultCode, data); ActivityResult(this, resultEventArgs); }
// 画像選択のアクティビティで取得した結果をハンドルする処理の本体 private void HandleActivityResult(object sender, PreferenceManager.ActivityResultEventArgs args) { if (args.RequestCode == MainActivity.IMAGE_REQUEST_CODE) { if (args.ResultCode == Result.Ok) { ICursor cursor = mainActivity.ContentResolver.Query(args.Data.Data, null, null, null, null); cursor.MoveToFirst(); string document_id = cursor.GetString(0); if (document_id.Contains(":")) { document_id = document_id.Split(':')[1]; } cursor.Close(); cursor = mainActivity.ContentResolver.Query( Android.Provider.MediaStore.Images.Media.ExternalContentUri, null, MediaStore.Images.Media.InterfaceConsts.Id + " = ? ", new String[] { document_id }, null); cursor.MoveToFirst(); string path = cursor.GetString(cursor.GetColumnIndex(MediaStore.Images.Media.InterfaceConsts.Data)); cursor.Close(); ImageUrl = path; } } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); // resultEventArgsの第1引数(Handled)は、ハンドル後に特に使う用事がなければtrueでもfalseでも問題なさそう var resultEventArgs = new PreferenceManager.ActivityResultEventArgs(true, requestCode, resultCode, data); ActivityResult(this, resultEventArgs); }
// 音声認識のアクティビティで取得した結果をハンドルする処理の本体 private void HandleActivityResult(object sender, PreferenceManager.ActivityResultEventArgs args) { if (args.RequestCode == REQUEST_CODE_VOICE) { IsRecognizing = false; if (args.ResultCode == Result.Ok) { // 認識が成功した場合、認識結果の文字列を引き出し、RecognizedTextに入れる。 var matches = args.Data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if (matches.Count != 0) { RecognizedText = matches[0]; } } } }
// 音声認識のアクティビティで取得した結果をハンドルする処理の本体 private void HandleActivityResult(object sender, PreferenceManager.ActivityResultEventArgs args) { if (args.RequestCode == MainActivity.SPEECH_REQUEST_CODE) { IsRecognizing = false; if (args.ResultCode == Result.Ok) { // 認識が成功した場合、認識結果の文字列を引き出し、RecognizedTextに入れる。 var matches = args.Data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if (matches.Count != 0) { System.Diagnostics.Debug.WriteLine("[音声認識成功]:" + matches[0]); RecognizedText = matches[0]; } } } }
private void HandleActivityResult(object sender, PreferenceManager.ActivityResultEventArgs args) { // SOME_REQUEST_CODEは、アクティビティ呼び出しのときに渡した任意のリクエストコード。 if (args.RequestCode == 334) { if (args.ResultCode == Result.Ok) { string filePath = String.Empty; ICursor cur = null; try { // 選択した画像のパスを取得する string[] columns = { Android.Provider.MediaStore.Images.Media.InterfaceConsts.Data }; cur = mainActivity.ContentResolver.Query(args.Data.Data, columns, null, null, null); if (cur != null) { foreach (var s in columns) { // MainPageViewModel.SetPickupImageSource(s); } while (cur.MoveToNext()) { filePath = cur.GetString(0); // MainPageViewModel.SetPickupImageSource(filePath); } } this.url = filePath; } finally { if (cur != null) { cur.Close(); } } } } }