Цель камеры Android не возвращается / блокируется - PullRequest
1 голос
/ 12 июня 2011

Я пытаюсь сделать снимок с камеры с помощью onActivityResult, но каждый раз, когда я делаю снимок, камера блокируется и не возвращается. Есть причина, по которой это может произойти? Это код, который я использую:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.v(TAG,"Camera callback: "+Integer.toString(resultCode));
    if (requestCode == CAMERA_PIC_REQUEST) {
        try{
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            Log.v("Picture view",data.getData().toString());
            ImageView image = new ImageView(this);
            image.setImageBitmap(thumbnail);  
            setContentView(image);
        }
        catch(Exception e){
            Log.e(TAG, "something happened");
            e.printStackTrace();
        }

    }
}

Это вывод LogCat после съемки:

06-12 19:46:03.881: VERBOSE/camera(443): Start autofocus.
06-12 19:46:04.521: VERBOSE/camera(443): doSnap: mFocusState=1
06-12 19:46:04.721: VERBOSE/camera(443): mAutoFocusTime = 790ms

Тогда он просто блокируется и onActivityResult никогда не срабатывает.

Спасибо за ваш вклад.

1 Ответ

1 голос
/ 13 июня 2011

Я прочитал кучу уроков, и все делают это по-разному.В официальных документах по Android используется класс Camera (пошаговое руководство на связанной странице).

Я нашел этот другой учебник (который использует MediaStore-класс, как и вы), но добавьте дополнительный для выходного файла в намерение.

Возможно, вы захотите проверить оба из этих руководств и посмотреть, работает ли один для вас.

...