2017-01-06 2 views
1

У меня есть активность, которая открывает сборщик изображений. При запуске галереи открывается цель выбора, и вы можете выбрать фотографию, это работает когда-то и на некоторых устройствах, но в другое время не работает и закрывает Activity вместо вызова OnActivityResult (приложение похоже на фоновое изображение, но после повторного открытия приложение перезагружается)Andriod Xamarin - Приложение закрывается при использовании подборки галереи изображений

Когда он преуспеет, все работает так, как ожидалось.

Я попытался это:

Button menu_upload = menu.FindViewById<Button>(Resource.Id.menu_upload); 
menu_upload.Click += (o, e) => 
{ 
    var imageIntent = new Intent(); 
    imageIntent.SetType("image/*"); 
    imageIntent.PutExtra(Intent.ExtraAllowMultiple, true); 
    imageIntent.SetAction(Intent.ActionPick); 
    StartActivityForResult(Intent.CreateChooser(imageIntent, "Select Image"), REQUEST_IMAGE_CAPTURE_MULTI); 

    // ALSO TRIED THIS WITH SAME RESULT 

    /*var imageIntent = new Intent(); 
    imageIntent.SetType("image/*"); 
    imageIntent.SetAction(Intent.ActionGetContent); 
    StartActivityForResult(
     Intent.CreateChooser(imageIntent, "Select photo"), REQUEST_IMAGE_CAPTURE_MULTI);*/ 

}; 

кажется, выглядит как деятельность разрушается, когда это фоновый. Как это сделать правильно? Или Как мне получить выбор для возобновления моей активности после того, как изображение было выбрано?

Я проверил другие статьи по этой теме, но я не могу заставить что-нибудь работать.

+0

Я думаю, что это низкая проблема памяти, когда ваше приложение будет уничтожен в этом случае, это нормально для андроид приложений. Я думаю, мы можем только попытаться переопределить 'onSaveInstanceState()', чтобы хранить ваши данные и читать их обратно в 'onCreate()' –

+0

@ GraceFeng-MSFT Но камера не открывает приложение повторно. Нужно ли пользователю повторно открывать приложение вручную? – tcj123

+0

Да, приложение нужно открыть вручную. –

ответ

0

Активность, которая пыталась запустить сборщик, была запущена с установленным андроидом: флаг noHistory. Это означает, что когда сборщик запущен, а родительская активность больше не отображается на экране, он закрыт Andriod.

Более подробную информацию можно найти в официальной документации здесь:

Official Android Activity Documentation

Смежные вопросы