Изучение пути захваченного изображения в методе onActivityResult - PullRequest
1 голос
/ 12 января 2012
@Override
protected void onCreate(Bundle savedInstanceState) {      
    super.onCreate(savedInstanceState);
    setContentView(R.layout.picture_choice_activity);

    Button takePictureButton = (Button)findViewById(R.id.takePictureButton);
    takePictureButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v){
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, IMAGE_CAPTURE);
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(requestCode == IMAGE_CAPTURE){
        if(resultCode == Activity.RESULT_OK){
            // I should get the path here
        }else if(resultCode == Activity.RESULT_CANCELED){

        }
    }
}

В приведенном выше коде я пытаюсь получить путь к захваченному изображению.Я не должен использовать EXTRA_OUTPUT, чтобы указать собственный путь для сохранения изображения.Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Используйте это в качестве результата.

final Uri contentUri = data.getData();
final String[] proj = { MediaStore.Images.Media.DATA};
final Cursor cursor = managedQuery(contentUri, proj, null, null, null);
final int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToLast();
final String path = cursor.getString(column_index);
2 голосов
/ 12 января 2012

Пожалуйста, проверьте, http://developer.android.com/guide/topics/media/camera.html#intents

MediaStore.EXTRA_OUTPUT: для этого параметра требуется объект Uri, указывающий путь и имя файла, в котором вы хотите сохранить изображение. Этот параметр не является обязательным, но настоятельно рекомендуется. Если вы не укажете это значение, приложение камеры сохранит запрошенное изображение в расположении по умолчанию с именем по умолчанию, указанным в поле Intent.getData () возвращаемого намерения.

Итак, отметьте Intent data в onActivityResult()

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