Страница 1 из 1

Не вызывается OnActivityResult

Добавлено: 21 окт 2014, 12:31
apal
Доброго времени суток
Сделал выбор картинки с устройства как в мануале, но после выбора изображения, не вызывается OnActivityResult и лэйаут закрывается

Код

Код: Выделить всё

private void btnLoadAvatar_Click(object sender, EventArgs e)
        {
            //Intent = new Intent();
            //Intent.SetType("image/*");
            //Intent.SetAction(Intent.ActionGetContent);
            
            //StartActivityForResult(Intent.CreateChooser(Intent, "Select Picture"), pickImageId);

            Intent intent = new Intent();
            intent.SetType("image/*");
            intent.SetAction(Intent.ActionGetContent);
            StartActivityForResult(Intent.CreateChooser(
                intent,
                "Select Picture"),
                pickImageId);
        }

        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            if ((requestCode == pickImageId) && (resultCode == Result.Ok) && (data != null))
            {
                Android.Net.Uri uri = data.Data;
                ivAvatar.SetImageURI(uri);
                UploadImage(GetPathToImage(uri));
            }
        }
В чем может быть проблема.

Re: Не вызывается OnActivityResult

Добавлено: 21 окт 2014, 16:42
apal
Проблема найдена, но от этого не легче.
Причина в том что у меня был установлен флаг NoHistory, т.к. моего активити не было в стеке - было не понятно куда возвращать результат.
Может кто знает как исключить активити из истории, но при этом чтобы работал OnActivityResult?

Re: Не вызывается OnActivityResult

Добавлено: 21 окт 2014, 16:52
Mikhail_dev
Вы хотите иметь историю, при этом историю удалить. Понимаете всю абсурдность данной идеи?
Лучше скажите, чем вам мешает ваша активность в стеке

Re: Не вызывается OnActivityResult

Добавлено: 21 окт 2014, 16:56
apal
Mikhail_dev писал(а):Вы хотите иметь историю, при этом историю удалить. Понимаете всю абсурдность данной идеи?
Лучше скажите, чем вам мешает ваша активность в стеке
Это активити создания нового объекта и как то странно будет, если пользователь кнопкой back вернется на нее

Re: Не вызывается OnActivityResult

Добавлено: 21 окт 2014, 17:09
Mikhail_dev
ну создавайте новый объект, а для активности вызывайте finish() и не будет её в стеке.

Re: Не вызывается OnActivityResult

Добавлено: 22 окт 2014, 10:11
apal
Mikhail_dev писал(а):ну создавайте новый объект, а для активности вызывайте finish() и не будет её в стеке.
Спасибо, то что нужно