В приложении 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
Есть предложения?
Обновление: Когдапри съемке в низком разрешении проблема не возникает