2012-12-05 2 views
0
String value = text.getText().toString(); 

     Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
     intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
     intent.putExtra(Intent.EXTRA_TEXT, value); 

     startActivity(Intent.createChooser(intent, "Send Email")); 

이 코드는 실행되지만 메모장 (및 다른 메모장 응용 프로그램), whatsapp (및 여러 채팅 응용 프로그램)과 같은 응용 프로그램 목록을 표시합니다.전자 메일 클라이언트 (전자 메일 클라이언트 만 해당)에게 텍스트를 공유 할 의도가 있음

이메일 클라이언트 목록 만 필요합니다. 긴 검색을했지만 코드는 항상 동일합니다.

+0

체크 아웃 공유 빌더 https://gist.github.com/gelldur/9c199654c91b13478979 –

답변

2

는 콘텐츠 형식에 다음 코드를 시도 :

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("plain/text"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_TEXT, "mail body"); 
startActivity(Intent.createChooser(intent, "")); 

EDIT1가 : 이메일 클라이언트를 열지 않고 직접 이메일을 보내는 this post를 확인하십시오.

+0

더 나은 :-) 이제 보았습니다 : 범프, crypto4all, 드라이브, 이메일, Gmail, k-9 메일, nfc 도청? 전자 메일을 자동으로 보내도록 전체 양식을 만들 수 있습니까? 감사합니다 –

+0

당신은 또한'i.setType ("message/rfc822");'이것은 목록에서 비 전자 메일 클라이언트를 제거 할 수 있습니다. 귀하의 의견을 이해할 수 없습니다 .. 전자 메일 응용 프로그램을 열지 않고 전자 메일을 보내시겠습니까? –

+0

죄송합니다. 내 영어 :-(의도를 사용하지 않고 전자 메일 클라이언트없이 전자 메일로 직접 보낼 양식을 만드십시오. –

관련 문제