После съемки двух изображений в приложении MonoDroid приложение камеры перестает работать - PullRequest
0 голосов
/ 23 января 2012

В приложении MonoDroid для запуска собственного приложения камеры используется следующий код:

    internal void TakePicture(int pictureId)
    {
        var uri = ContentResolver.Insert(MediaStore.Images.Media.ExternalContentUri, new ContentValues());

        var intent = new Intent(MediaStore.ActionImageCapture);
        intent.PutExtra(MediaStore.ExtraOutput, uri);
        StartActivityForResult(intent, ACTIVITY_RESULT_PICTURE_TAKEN);

        pictureId = pictureId;
        pictureUri = uri;
    }

После того, как снимок сделан, он обрабатывается здесь:

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        if (requestCode == ACTIVITY_RESULT_PICTURE_TAKEN)
        {
            if (resultCode == Result.Ok)
            {
                /* The URI is not a valid path, but something internal to Android
                 * See
                 * /6174978/monodroid-nastroika-izobrazheniya-dlya-izobrazheniya-hranyaschegosya-na-sdcard
                 * for more information. */

                if (OnPictureTaken != null)
                    OnPictureTaken(this, new PictureTakenEventArgs(pictureId, GetRealPathFromURI(pictureUri)));
            }
        }
    }

Первые 2 попытки сделать снимок всегда успешны, но в третий раз приложение камеры Android позволяет делать снимки, но оно не закрывается и больше не возвращает изображение в приложение ... (Обработчик событий выше нелибо не вызывать).

Мы тестируем это на планшетах Asus Transformer 101 (несколько версий прошивки)

PS: я нашел эту запись, но я думаю, что это другая проблема.

ошибка после нескольких снимков с помощью камеры Android

Есть предложения?

Обновление: Когдапри съемке в низком разрешении проблема не возникает

1 Ответ

1 голос
/ 28 января 2012

У меня была похожая проблема на моем Трансформаторе, но моя проблема заключалась в том, что она никогда не работала. Я не думаю, что когда-либо пытался запросить другой размер изображения, хотя. Этот пост помог мне, именно ответ Донна Фелкера помог мне. Я должен был убедиться, что пустой файл был создан перед запуском намерения камеры, чтобы приложение камеры могло позволить кнопке ОК завершить намерение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...