2012-04-21 3 views
0

Я работаю над камерой на базе Android-приложения с использованием Intent. После съемки фотографии я вижу, что фотография и две кнопки появляются - «Сохранить» и «Отменить». Я хочу не ждать, пока пользователь выберет одну из этих двух кнопок, но начните обработку этой фотографии, а затем, в зависимости от результата обработки, совершите более действенные действия.Android как обрабатывать фото

Я делал это так до сих пор:

CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; 

protected void startCameraActivity() 
{ 
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

    // the method below is my method for setting proper path for my image file 
    fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image 

    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 

    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
} 

этот метод вызывается, когда я запускаю мое приложение. Поэтому я запускаю приложение с камерой. Затем я делаю снимок. И я могу выбрать «Сохранить» или «Отменить». Когда я выбираю один этот метод вызывается:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
     if (resultCode == RESULT_OK) { 
      // Image captured and saved to fileUri specified in the Intent 

      onPhotoTaken(); // processing... 

     } else if (resultCode == RESULT_CANCELED) { 
      // User cancelled the image capture 
     } else { 
      // Image capture failed, advise user 
     } 
    } 
} 

После получения надлежащего ResultCode я загрузить изображение из файла, а затем начать его обработку.

И теперь мой quesiton: Если я могу получить это изображение до того, как вызывается метод onActivityResult? Он вызывается после нажатия на одну из этих кнопок.

(я хочу сделать это подобным способом Google Googles делает это - пользователь захватывает фото и фото обрабатывается сразу)

+0

попробуйте использовать широкоугольный приемник. –

ответ

0

Вы будете нуждаться, чтобы реализовать свою собственную картину, принимая деятельности, что-то вроде строк this (включая исходный код в конце страницы).

Потребуется некоторое время, чтобы установить его прямо, по сравнению с простым Intent, но после этого у вас есть прямой доступ ко всем функциям камеры, включая изображение камеры, даже до того, как оно станет доступным для вызывающей активности.

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