Android: приложение камеры разрывается на ACTION_IMAGE_CAPTURE с кадрированием на некоторых телефонах - PullRequest
0 голосов
/ 01 апреля 2011

Приведенный ниже код запрашивает новое изображение, обрезает его и записывает данные во временный файл. Он очень хорошо работает на HTC Desire HD с Android 2.2.1.

Но на Huawei Ideos с Android 2.2 приложение камеры останавливается (приложение неожиданно остановило камеру), и мое приложение продолжается без снятия изображения. Схожая проблема (вероятно, та же самая) была зарегистрирована пользователем с EVO 4G, Android 2.3.3.

На телефоне Ideos я не вижу рамки обрезки после съемки изображения, поэтому я предполагаю, что именно здесь происходит сбой приложения камеры, и я предполагаю, что это может зависеть от реализаций приложения камеры для конкретного устройства. У кого-нибудь есть решение?

         case 1:
             Uri mSavedUri = Uri.fromFile(new File(basepath + "/temp" + imgExtension));
                Intent newphoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);          
                newphoto.putExtra("crop", "true");
                newphoto.putExtra("outputX",         imageSizeX);
                newphoto.putExtra("outputY",         imageSizeY);
                if (imageAspect == 0) {
                    newphoto.putExtra("aspectX",         1);
                    newphoto.putExtra("aspectY",         1);
                }
                if (imageAspect == 1) {
                    newphoto.putExtra("aspectX",         4);
                    newphoto.putExtra("aspectY",         3);
                }
                if (imageAspect == 2) {
                    newphoto.putExtra("aspectX",         3);
                    newphoto.putExtra("aspectY",         4);
                }           
                newphoto.putExtra("scale",           true);
                newphoto.putExtra("noFaceDetection", true);
                newphoto.putExtra("setWallpaper",    false);
                newphoto.putExtra("output",mSavedUri);
                startActivityForResult(newphoto, NEW_PHOTO);                
                break;

1 Ответ

0 голосов
/ 01 апреля 2011

Реализации Android-камер довольно разные и не поддерживают все опции одинаково.Попробуйте удалить все ненужные настройки из намерения - они могут запутать некоторые приложения камеры

Моими первыми кандидатами будут: noFaceDetection & setWallpaper

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