2011-03-13 2 views
0

이 질문은 이전에 여러 가지 변형으로 질문되었지만 제 질문은 setType 메소드를 중심으로 더 자세히 다루고 있습니다.안드로이드에서 의도 한 이메일에 파일을 첨부하는 데 문제가 있습니다.

나는 Intent로 시작하는 이메일에 XML 파일을 첨부하려고합니다. 코드는 다음과 같습니다.

File exportPath = (File) data.getExtras().getSerializable("Path"); 
Log.w(TAG, Uri.fromFile(exportPath).toString()); 
Intent email = new Intent(); 
email.setType("application/xml"); 
email.putExtra(Intent.EXTRA_EMAIL, new String[] {user_email}); 
email.putExtra(Intent.EXTRA_SUBJECT, "Test"); 
email.putExtra(Intent.EXTRA_TEXT, "Text"); 
email.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(exportPath)); 

startActivity(Intent.createChooser(email, "Mail job")); 

받는 사람, 제목 및 텍스트가 올바르게 입력되었지만 첨부 파일 만 누락되었습니다.

결과 : Log.w (TAG, Uri.fromFile (exportPath) .toString()); 은 file : ///mnt/sdcard/SDS2Mobile/model2.xml

내 문제는 유형을 잘못 설정하고 있지만 XML 파일에 올바른 유형을 찾을 수 없다고 생각합니다. 누구든지 아이디어가 있습니까?

+0

나는 sqlite db 파일을 이메일로 보내려고 노력하고 있었고, 가장 힘든 시간을 보냈다. 코드의 일부인 "Uri.fromFile (exportPath)"는 나를 위해 그것을 고쳤습니다. 대단히 감사합니다! – Opy

+0

보내기 명령으로 의도를 만들어야합니다. 그렇지 않으면 제대로 작동하지 않습니다. '의도 이메일 = 새로운 의도 (Intent.ACTION_SEND); – AlexIIP

답변

2

발견했습니다. setType()에서 "text/Message"를 사용하면 올바른 결과가 나타납니다.

관련 문제