Пример #1
0
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            var callback = new ActivityResultCallback();

            callback.Result += (_, result) =>
            {
                var intent = result.Data;

                if ((Result)result.ResultCode != Result.Ok || intent.Data == null)
                {
                    return;
                }

                _preferences.AutoBackupUri = intent.Data;

                var flags = intent.Flags & (ActivityFlags.GrantReadUriPermission | ActivityFlags.GrantWriteUriPermission);
                Context.ContentResolver.TakePersistableUriPermission(intent.Data, flags);

                UpdateLocationStatusText();
                UpdateSwitchesAndTriggerButton();
            };

            _locationSelectResultLauncher = RegisterForActivityResult(new ActivityResultContracts.StartActivityForResult(), callback);
        }