protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CHANNEL_LIST) { if (resultCode == Android.App.Result.Ok && data != null) { mChannelUrl = data.GetStringExtra("channelUrl"); mSendBirdChatAdapter.Clear(); mSendBirdChatAdapter.NotifyDataSetChanged(); mMessageListQuery = SendBirdSDK.QueryMessageList(mChannelUrl); mMessageListQuery.OnResult += (sender, e) => { // mSyncContext.Post for RunOnUIThread mSyncContext.Post(delegate { foreach (var messageModel in e.Messages) { mSendBirdChatAdapter.AddMessageModel(messageModel); } mSendBirdChatAdapter.NotifyDataSetChanged(); mSendBirdChatFragment.mListView.SetSelection(mSendBirdChatAdapter.Count); SendBirdSDK.Join(mChannelUrl); SendBirdSDK.Connect(mSendBirdChatAdapter.GetMaxMessageTimestamp()); }, null); }; mMessageListQuery.Prev(long.MaxValue, 50); // Excute Query } } }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Android.Content.Intent data) { switch (requestCode) { case REQUEST_CODE_CHANGE_MASKED_WALLET: if (resultCode == Android.App.Result.Ok && // removed https://developers.google.com/android/guides/releases#august_27_2019 data.HasExtra(Android.Gms.Wallet.WalletConstants.ExtraMaskedWallet)) { // removed https://developers.google.com/android/guides/releases#august_27_2019 mMaskedWallet = data.GetParcelableExtra(Android.Gms.Wallet.WalletConstants.ExtraMaskedWallet).JavaCast <Android.Gms.Wallet.MaskedWallet> (); ((FullWalletConfirmationButtonFragment)ResultTargetFragment) .UpdateMaskedWallet(mMaskedWallet); } // you may also want to use the new masked wallet data here, say to recalculate // shipping or taxes if shipping address changed break; case Android.Gms.Wallet.WalletConstants.ResultError: int errorCode = data.GetIntExtra(Android.Gms.Wallet.WalletConstants.ExtraErrorCode, 0); HandleError(errorCode); break; default: base.OnActivityResult(requestCode, resultCode, data); break; } }
/** * When calling {@link Wallet#loadFullWallet(GoogleApiClient, FullWalletRequest, int)} or * resolving connection errors with * {@link ConnectionResult#startResolutionForResult(android.app.Activity, int)}, * the given {@link Activity}'s callback is called. Since in this case, the caller is a * {@link Fragment}, and not {@link Activity} that is passed in, this callback is forwarded to * {@link FullWalletConfirmationButtonFragment}, {@link PromoAddressLookupFragment} or * {@link LoginFragment}. * If the requestCode is one of the predefined codes to handle * the API calls, pass it to the fragment or else treat it normally. */ protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { switch (requestCode) { case FullWalletConfirmationButtonFragment.REQUEST_CODE_RESOLVE_LOAD_FULL_WALLET: case FullWalletConfirmationButtonFragment.REQUEST_CODE_RESOLVE_ERR: case PromoAddressLookupFragment.REQUEST_CODE_RESOLVE_ADDRESS_LOOKUP: case PromoAddressLookupFragment.REQUEST_CODE_RESOLVE_ERR: case LoginFragment.REQUEST_CODE_RESOLVE_ERR: var fragment = ResultTargetFragment; if (fragment != null) { fragment.OnActivityResult(requestCode, (int)resultCode, data); } break; case REQUEST_USER_LOGIN: if (resultCode == Android.App.Result.Ok) { AndroidX.Core.App.ActivityCompat.InvalidateOptionsMenu(this); } break; default: base.OnActivityResult(requestCode, resultCode, data); break; } }
private void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { Android.Util.Log.Debug("gvl", $"resultCode: {resultCode}"); if (data != null) { // Retrieve the extractions from the result data Bundle extractionsBundle = data.GetBundleExtra(CameraActivity.ExtraOutExtractions); if (extractionsBundle != null) { extractions = new Dictionary <string, GiniVisionSpecificExtraction>(); foreach (var key in extractionsBundle.KeySet()) { GiniVisionSpecificExtraction extraction = (GiniVisionSpecificExtraction)extractionsBundle.GetParcelable(key); extractions.Add(key, extraction); Android.Util.Log.Debug("gvl", $"extraction: {extraction.Name} = {extraction.Value}"); } // Send feedback after the user has seen and potentially modified the extractions sendFeedback(); } } var activity = (MainActivity)Forms.Context; activity.ActivityResult -= OnActivityResult; }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { switch ((ActivityRequest)requestCode) { case ActivityRequest.RequestAppStorePermissions: RequestStoragePermissions(true); break; } }
public static void OnIAPCallback(int requestCode, Android.App.Result resultCode, Android.Content.Intent data) { // For Plugin.InAppBilling. try { Plugin.InAppBilling.InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data); } catch (Exception exc) { Console.WriteLine("Got exception IAP: {0}:", exc); } }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { switch ((ActivityRequest)requestCode) { case ActivityRequest.RequestDevelopmentSettings: UpdateDisplay(); break; } }
private void sendResult(Android.App.Result resultCode) { if (TargetFragment == null) { return; } var i = new Intent(); i.PutExtra(EXTRA_DATE, _date.ToString()); TargetFragment.OnActivityResult(TargetRequestCode, (int)resultCode, i); }
/// <summary> /// 开始屏幕录制 /// </summary> public void StartRecord_ActualMethod(Android.App.Result resultCode, Android.Content.Intent data) { string msg = string.Empty; if (resultCode != Android.App.Result.Ok) // 用户拒绝授权 { s_IsRunning.Set(false); msg = "用户已拒绝授权,录制屏幕停止执行。"; System.Diagnostics.Debug.WriteLine(msg); showToast(msg); return; } // System.Threading.Thread.Sleep(500); // 以防截取到授权窗口,停顿 500 ms System.Threading.Thread.Sleep(1000); mProjection = mProjectionManager.GetMediaProjection((int)resultCode, data); // ok = -1 Android.Util.DisplayMetrics displayMetrics = new Android.Util.DisplayMetrics(); mAppActivity.WindowManager.DefaultDisplay.GetRealMetrics(displayMetrics); int width = displayMetrics.WidthPixels; int height = displayMetrics.HeightPixels; initRecorder(width, height); mDisplay = mProjection.CreateVirtualDisplay ( name: "MyAndroidScreenRecord", width: width, height: height, dpi: (int)Android.Util.DisplayMetricsDensity.Medium, // TODO Dpi // DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, // TODO Xamarin.Android 中没有此参数 flags: Android.Views.DisplayFlags.Presentation, surface: mMediaRecorder.Surface, callback: null, handler: null ); msg = "屏幕录像开始"; System.Diagnostics.Debug.WriteLine(msg); // showToast(msg); // 不显示开始信息, 更好地进行录像 //Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => //{ mMediaRecorder.Start(); //}); }
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Android.App.Result resultCode, Intent data) { if (requestCode == REQ_VPN) { Logging.info("VPN grant: " + resultCode); if (resultCode == Android.App.Result.Ok) { StartServiceWithAction(BgService.Actions.START_VPN); } } else { Logging.warning("Unknown requestCode: " + requestCode); } }
public void Handle_OpenBluetooth(int requestCode, Android.App.Result resultCode, Intent data) { // TODO 设想 : 对于未开启蓝牙的情况下, 要求某个蓝牙的操作, 在开启后根据 requestCode 自动执行对应行动(某个蓝牙的操作) switch (requestCode) { case 8766: string a = ""; break; case 8767: string b = ""; break; case 8768: string c = ""; break; default: break; } // return this.BluetoothIsEnabled; }
protected void OnActivityResult(int requestCode, Android.App.Result resultVal, Intent data) { if (requestCode == VOICE) { if (resultVal == Android.App.Result.Ok) { var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if (matches.Count != 0) { string textInput = city.Text + matches[0]; city.Text = textInput; search.CallOnClick(); } else { city.Text = "No speech was recognised"; } OnActivityResult(requestCode, resultVal, data); } } // This function was from a plugin, but it reads out the text that is passed int it }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_MESSAGING_CHANNEL_LIST) { if (resultCode == Android.App.Result.Ok && data != null) { SendBirdSDK.JoinMessaging(data.GetStringExtra("channelUrl")); } } else if (requestCode == REQUEST_MEMBER_LIST) { if (resultCode == Android.App.Result.Ok && data != null) { try { SendBirdSDK.InviteMessaging(SendBirdSDK.GetCurrentChannel().url, new List <string>(data.GetStringArrayExtra("userIds"))); } catch (Exception e) { Console.WriteLine(e.StackTrace); } } } }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Android.Content.Intent data) { // retrieve the error code, if available int errorCode = -1; if (data != null) { errorCode = data.GetIntExtra(WalletConstants.ExtraErrorCode, -1); } switch (requestCode) { case REQUEST_CODE_MASKED_WALLET: switch (resultCode) { case Android.App.Result.Ok: var maskedWallet = data.GetParcelableExtra(WalletConstants.ExtraMaskedWallet).JavaCast <MaskedWallet> (); launchConfirmationPage(maskedWallet); break; case Android.App.Result.Canceled: break; default: HandleError(errorCode); break; } break; case WalletConstants.ResultError: HandleError(errorCode); break; default: base.OnActivityResult(requestCode, resultCode, data); break; } }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { switch ((ActivityRequest)requestCode) { case ActivityRequest.RequestDevelopmentSettings: UpdateDisplay(); break; case ActivityRequest.RequestOpenDocumentTreeToApp: if (data != null && resultCode == Android.App.Result.Ok) { Android.Net.Uri treeUri = data.Data; if (treeUri != null) { _instanceData.CopyToAppSrcUri = treeUri.ToString(); if (!string.IsNullOrEmpty(_instanceData.CopyToAppSrcUri)) { SelectCopyAppDir(false); } } } break; case ActivityRequest.RequestOpenDocumentTreeFromApp: if (data != null && resultCode == Android.App.Result.Ok) { Android.Net.Uri treeUri = data.Data; if (treeUri != null) { _instanceData.CopyFromAppDstUri = treeUri.ToString(); if (!string.IsNullOrEmpty(_instanceData.CopyFromAppSrcPath) && !string.IsNullOrEmpty(_instanceData.CopyFromAppDstUri)) { try { DocumentFile srcDir = DocumentFile.FromFile(new Java.IO.File(_instanceData.CopyFromAppSrcPath)); DocumentFile dstDir = DocumentFile.FromTreeUri(this, Android.Net.Uri.Parse(_instanceData.CopyFromAppDstUri)); if (_activityCommon.RequestCopyDocumentsThread(srcDir, dstDir, (result, aborted) => { })) { ActivityCommon.CopyFromAppSrc = _instanceData.CopyFromAppSrcPath; ActivityCommon.CopyFromAppDst = _instanceData.CopyFromAppDstUri; } } catch (Exception) { // ignored } } } } break; case ActivityRequest.RequestSelDirToApp: if (data != null && resultCode == Android.App.Result.Ok) { _instanceData.CopyToAppDstPath = data.Extras?.GetString(FilePickerActivity.ExtraFileName); if (!string.IsNullOrEmpty(_instanceData.CopyToAppSrcUri) && !string.IsNullOrEmpty(_instanceData.CopyToAppDstPath)) { try { DocumentFile srcDir = DocumentFile.FromTreeUri(this, Android.Net.Uri.Parse(_instanceData.CopyToAppSrcUri)); DocumentFile dstDir = DocumentFile.FromFile(new Java.IO.File(_instanceData.CopyToAppDstPath)); if (_activityCommon.RequestCopyDocumentsThread(srcDir, dstDir, (result, aborted) => { })) { ActivityCommon.CopyToAppDst = _instanceData.CopyToAppDstPath; ActivityCommon.CopyFromAppDst = _instanceData.CopyFromAppDstUri; } } catch (Exception) { // ignored } } } break; case ActivityRequest.RequestSelDirFromApp: if (data != null && resultCode == Android.App.Result.Ok) { _instanceData.CopyFromAppSrcPath = data.Extras?.GetString(FilePickerActivity.ExtraFileName); if (!string.IsNullOrEmpty(_instanceData.CopyFromAppSrcPath)) { SelectCopyDocumentTree(true); } } break; case ActivityRequest.RequestSelDirDelApp: if (data != null && resultCode == Android.App.Result.Ok) { string delPath = data.Extras?.GetString(FilePickerActivity.ExtraFileName); if (!string.IsNullOrEmpty(delPath)) { try { DocumentFile delDir = DocumentFile.FromFile(new Java.IO.File(delPath)); _activityCommon.RequestDeleteDocumentsThread(delDir, (result, aborted) => { }); } catch (Exception) { // ignored } } } break; } }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); _billingManager.OnActivityResult(requestCode, resultCode, data); }
public void Screenshot_ActualMethod(Android.App.Result resultCode, Android.Content.Intent data) { string msg = string.Empty; if (resultCode != Android.App.Result.Ok) // 用户拒绝授权 { s_IsRunning.Set(false); msg = "用户已拒绝授权,屏幕截图停止执行。"; System.Diagnostics.Debug.WriteLine(msg); showToast(msg); return; } // System.Threading.Thread.Sleep(500); // 以防截取到授权窗口,停顿 500 ms System.Threading.Thread.Sleep(1000); // 以防截取到授权窗口,停顿 500 ms mProjection = mProjectionManager.GetMediaProjection((int)resultCode, data); // ok = -1 Android.Util.DisplayMetrics displayMetrics = new Android.Util.DisplayMetrics(); mAppActivity.WindowManager.DefaultDisplay.GetRealMetrics(displayMetrics); int width = displayMetrics.WidthPixels; int height = displayMetrics.HeightPixels; if (mImageReader != null) { mImageReader.Close(); mImageReader = null; } if (mDisplay != null) { mDisplay.Release(); mDisplay = null; } mImageReader = Android.Media.ImageReader.NewInstance ( width: width, height: height, // Bitmap.Config.ARGB_8888 // Android 源码传入参数 // format: Android.Graphics.ImageFormatType.FlexRgba8888, // 由于没有 Config.ARGB_8888, 故从 AndroidStudio 中获取 Config.ARGB_8888 枚举的值 ( = 1 ) format: (Android.Graphics.ImageFormatType) 1, // Bitmap.Config.ARGB_8888 maxImages: 2 ); mDisplay = mProjection.CreateVirtualDisplay ( name: "MyAndroidScreenshot", width: width, height: height, dpi: (int)Android.Util.DisplayMetricsDensity.Medium, flags: Android.Views.DisplayFlags.Presentation, surface: mImageReader.Surface, callback: null, handler: null ); var listener = new MyScreenshotListener ( width: width, height: height, imageFileDateTime: mImageFileDateTime, dirName: mDirName ); mImageReader.SetOnImageAvailableListener(listener: listener, handler: getBackgroundHandler()); msg = "屏幕截图开始"; System.Diagnostics.Debug.WriteLine(msg); // showToast(msg); // 不显示开始信息, 更好地进行截图 }
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data) { LifecycleDelegate.OnActivityResult(requestCode, (Android.App.Result)resultCode, data); base.OnActivityResult(requestCode, resultCode, data); }
/// <inheritdoc /> public virtual void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent?data) { }