2011-07-14 4 views
1

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

ОБНОВЛЕНИЕ: Я не использую изображения из ресурсов. У меня есть изображения из хранилища android (как в приложении для контактов), используя:

новое намерение (Intent.ACTION_GET_CONTENT, null);

и с камеры. Камера в порядке - я могу получить путь к файлу. Но вопрос хранения

ответ

1

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

+0

У меня есть изображения от андроида хранения (как в приложении Контактов) с помощью: Intent (Intent .ACTION_GET_CONTENT, null) и с камеры. Камера в порядке - я могу получить путь к файлу. Но проблема хранения - вопрос –

+0

Если вы хотите получить их со SD-карты или внутренней памяти, вам, возможно, придется сканировать носитель для файлов изображений. –

3

Если изображение является ресурсом, который вы предоставляете, вы можете получить путь к изображению. Формат:

"android.resource: // [пакет]/[Рез идентификатор]"

[пакет] Ваше имя пакета

[Рез идентификатор] является значение идентификатора ресурса, например R.drawable.example

Вы можете затем передать это как дополнительные в вашем создании электронной почты намерение, как это:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
//Mime type of the attachment (or) u can use sendIntent.setType("*/*") 
sendIntent.setType("image/jpeg"); 
//Subject for the message or Email 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "My Picture"); 
//Full Path to the attachment 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://your.package.name/" + R.drawable.example)); 
//Use a chooser to decide whether email or mms 
startActivity(Intent.createChooser(sendIntent, "Email:")); 
+0

Спасибо, но я не использую изображения из ресурсов. У меня есть изображения из хранилища android (как в приложении для контактов), используя: Intent (Intent.ACTION_GET_CONTENT, null) и с камеры. Камера в порядке - я могу получить путь к файлу. Но проблема хранения - вопрос –

+0

, попробовав взглянуть на контент-провайдеров, http://developer.android.com/guide/topics/providers/content-providers.html Я думаю, что это то, что вам нужно, я сделал что-то подобное некоторое время назад, я буду искать его и опубликовать код, если я его найду. – Kenny

+0

Kenny, имя файла вложения - это число, а не имя файла при использовании этого метода. Есть ли способ переименовать это приложение перед отправкой, без необходимости сохранения на SDcard? –

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