2012-12-07 2 views
2

단추를 클릭하면 다음 코드를 사용하여 전자 메일을 시작하고 데이터베이스 쿼리의 데이터로 채 웁니다. 나는 내 작품 마이크로 소프트를 통해이를 보낼 필요가전자 메일 Exchange Mail (Outlook)을 옵션으로 표시하지 않습니다.

* Evernote - create note 
* Gmail 
* Skype 

:

문제는 대화 팝업의 최대 버튼 인 경우에만 다음과 같은 옵션을 제공, 클릭 것을 '... 보내는 메일'을에서, Exchange 서버 (내 주요 전자 메일 클라이언트),하지만이 제공되지 않습니다 (내가이하는 다른 응용 프로그램에서 웹 하이퍼 링크 또는 이와 유사한 버튼을 클릭 때, 그러나입니다) :

private void sendEmail(String recipient, String subject, String message) { 
    try { 
     final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
     emailIntent.setType("plain/text"); 
     if (recipient != null) emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient}); 
     if (subject != null) emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
     if (message != null) emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); 

     startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

    } catch (ActivityNotFoundException e) { 
     // cannot send email for some reason 
    } 
} 

어떤 아이디어? 좋아

답변

2

그래서 난이 게시물에서 답을 찾을 : How to open Email program via Intents (but only an Email program)

MIME 타입 변경을 대답이 내가 같은 동작을 변경할 내 애플 리케이션에 무슨 짓입니다. intent.setType ("message/rfc822");을 사용했습니다.

꿈처럼 일했습니다!

+0

안녕하세요. setType을 message/rfc822로 변경하면 skype도 전화를받습니다. – Bora

0

화면이 나타나고 데이터를 보내야하는 응용 프로그램을 선택할 수있는 경우 그 때 "기본 동작 설정"을 선택하십시오. 따라서 다음 번에 앱을 사용하여 이메일을 보내면 선택한 기본 애플리케이션이 열립니다.

관련 문제