2016-04-18 3 views
0

Я пытаюсь создать пользовательский предварительный просмотр камеры, как тот, который используется WhatsApp. Чтобы проиллюстрировать эту проблему, я добавляю изображение ниже:Пользовательский просмотр камеры Android

Example of Preview

Я использую следующий код, чтобы открыть действие камеры:

imgCamera.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      File file = new File(path); 
      Uri outputFileUri = Uri.fromFile(file); 
      Intent intent = new Intent(
        android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
      startActivityForResult(intent, 2); 
     } 
}); 

И пытаюсь ниже, чтобы показать вверх по Предварительный просмотр:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 2 && resultCode == Activity.RESULT_OK) { 

     Intent startPreview = new Intent(this.getContext(), PreviewActivity.class); 
     startPreview.putExtra("path", path); 
     startActivity(startPreview); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

Однако он не отображает мою обычную пользовательскую активность. Он показывает общий.

Не мог бы кто-нибудь мне помочь?

Спасибо

ответ

0

Это не будет показывать вашу деятельность, потому что цель указать это ACTION_IMAGE_CAPTURE, который гласит:

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

Если у вас есть свой пользовательский вид для обработки захвата/предварительного просмотра камеры и т. Д. вам нужно вызвать новый Intent (Context, YourActivity.class)

+0

У меня нет моей активности для обработки захвата камеры, я хочу изменить экран после того, как был сделан снимок. Поскольку стандарт показывает кнопку отмены или сохраняет. – Tarcisiofl

+0

Я бы предположил, что вам нужно создать его самостоятельно. –

+0

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

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