2012-05-01 11 views
1

私は電子メールで画像を送信する必要があるアプリケーションを開発しています。私は電子メールの送信に成功しましたが、送信された添付ファイルは0KBサイズです。私は問題が何かを得ていない。以下、私は自分のコードを投稿しています。電子メールで送信される添付ファイルのサイズは0KBです

import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 

public class EtestActivity extends Activity { 
/** Called when the activity is first created. */ 
Button email; 
Intent in; 
private static final String TAG = "EmailLauncherActivity"; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    email = (Button)findViewById(R.id.email); 
    email.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      try { 
       in = new Intent(Intent.ACTION_SEND); 
       in.setType("image/jpeg"); 
       in.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/android.jpg")); 

       startActivity(Intent.createChooser(in, "Email...")); 
      } catch (Exception e) { 
       Log.e(TAG, "email sending failed", e); 
      }//catch 
     }//onClick 
    }); 
}//onCreate 
}//class 

答えて

1

また、MIMEタイプを変更することによって解決される同じ問題に直面します。

このin.setType( "image/jpg");を試してください。

+0

ありがとうKrishnakant、それは働いた。 – Nitish

+0

私が直面しているもう1つの問題は、createchooser()を使用したときに、ファイルを送信できるすべてのアプリケーションのリストを表示していますが、電子メールクライアントのリストだけです。それをどうやって得るのか教えていただけますか? – Nitish

+0

Intent.ACTION_SENDの代わりにIntent.ACTION_SENDTOを試してみてください –

0

携帯電話は、その時点でコンピュータに取り付けられていましたか?お使いのコンピュータに接続している間はSDカードにアクセスできない可能性があるため、実際に画像が貼られていない可能性があります。

+0

いいえ、私は画像を保管していたエミュレータにsdカードサポートを提供しました。同じアプリケーション私は別々に私の携帯電話でテストし、また、アンドロイド.jpgという名前のsdカードに画像を保管しました。しかし、私はどちらの場合も同じ問題に直面しています – Nitish

関連する問題