2011-07-14 41 views
1

ImageView画像のファイル名はどのように知ることができますか? 電子メールの添付ファイルとして送信します。ImageViewから画像を電子メールの添付ファイルとして送信する

更新:私はリソースからイメージを使用しません。私はアンドロイドストレージから画像を持っています(連絡先アプリのように):

新しいインテント(Intent.ACTION_GET_CONTENT、null);

およびカメラから。カメラはOKです - ファイルパスを取得できます。しかし、ストレージは質問です

答えて

1

短い答えは、さまざまなソースからの画像である可能性があることです。あなたができることは、画像を送信したのと同じ結果でbitmap cacheを得ることです。

+0

私はアンドロイドのストレージから(連絡先アプリのように)の画像を持って使用して:テント(意図を.ACTION_GET_CONTENT、null)とカメラから取得します。カメラはOKです - ファイルパスを取得できます。しかし、ストレージは質問です –

+0

あなたがSDカードまたは内部ストレージからそれらを得ることについて話しているなら、イメージファイルのためにメディアをスキャンする必要があるかもしれません。 –

3

イメージがあなたが提供するリソースであれば、イメージへのパスを取得できます。形式は次のとおりです。

"android.resource:// [パッケージ]/[RES ID]"

[パッケージ]パッケージ名

[RES ID]は、リソースIDの値です、例えば

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

ありがとうございますが、私はリソースからイメージを使用しません。インテント(Intent.ACTION_GET_CONTENT、null)とカメラからのアンドロイドストレージの画像(連絡先アプリのように)があります。カメラはOKです - ファイルパスを取得できます。しかし、ストレージは質問 –

+0

コンテンツプロバイダを見てみることを試みるhttp://developer.android.com/guide/topics/providers/content-providers.html私はそれがあなたが必要とするものだと思う、私はそれを見つけることができればそれを探してコードを投稿します。 – Kenny

+0

ケニー、このメソッドを使用する場合、添付ファイル名はファイル名ではなく数字です。送信前に添付ファイルの名前を変更する方法はありますか?SDカードに保存する必要はありませんか? –

関連する問題