2009-12-22 3 views
0

На данный момент я использую два намерения. Один для голосовой записи, другой для камеры:Android Intent Save Path

Intent photoIntent = new Intent("android.media.action.IMAGE_CAPTURE"); 
startActivityForResult(photoIntent, ACTIVITY_TAKE_PHOTO); 

Intent voiceIntent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 
startActivityForResult(voiceIntent, ACTIVITY_RECORD_SOUND); 

Моя цель состоит в том, чтобы поставить дополнительную к каждому из тех, который содержит путь куда сохранить изображение/записанный голос. Есть ли возможность сделать это?

ответ

0

Я не уверен, но в первую очередь я хотел бы установить данные uri намерения и посмотреть, что это делает.

0

AFAIK это невозможно из стрельбы.

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

2

Вы можете использовать EXTRA_OUTPUT дополнительно, чтобы указать пункт назначения Uri для изображений, снятых с ACTION_IMAGE_CAPTURE (но не RECORD_SOUND_ACTION, для этого возвращенный комплект будет содержать путь к файлу).

В качестве примера можно найти here, выдержка ниже:

Неплотно со ссылкой на yanokwa:

// fire off the intent 
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, 
      Uri.fromFile(new File("<temp file path here>"))); 
startActivityForResult(i, mRequestCode); 

Кстати, подобный вопрос можно найти here.

+0

большое спасибо за это решение ... это код, который я искал. но при тестировании я столкнулся с той же проблемой, что и у человека в ссылке. активность камеры ничего не делает, когда я нажимаю кнопку «ok». как описано в ссылке, у камер-приложений, похоже, нет разрешений на запись. нет ли решения этой проблемы, кроме переписывания камеры-приложения? – Ripei

+0

ok Я теперь попробовал его на герое htc (до того, как я использовал эмулятор). Я понял, что фотография обычно просматривается через медиа-приложение. Другими словами: фотография сохраняется в обычном фотокаталоге. и EXTRA.OUTPUT не влияет. любые идеи, почему ?! – Ripei