2012-05-01 2 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

내가 직면 한 또 하나의 문제는 createchooser()를 사용하여 파일을 전송할 수있는 모든 응용 프로그램 목록을 보여주고 있지만 전자 메일 클라이언트 목록 만 원합니다. 그걸 어떻게 얻을 수 있는지 말해 줄 수 있니? – Nitish

+0

Intent.ACTION_SEND 대신 Intent.ACTION_SENDTO를 사용해보십시오. –

0

휴대 전화가 당시 컴퓨터에 마운트 되었습니까? 컴퓨터에 연결되어있는 동안 SD 카드에 액세스 할 수 없으므로 실제로 이미지가 붙어 있지 않을 수 있습니다.

+0

아니요, 저는 이미지를 보관 해 둔 에뮬레이터에 SD 카드 지원을 제공했습니다. 똑같은 응용 프로그램을 휴대 전화에서 별도로 테스트했고 또한 android.jpg라는 SD 카드에 이미지를 보관했습니다. 그러나, 나는 두 경우 모두 같은 문제에 직면하고있다. – Nitish