2012-12-21 1 views
3

내 앱에서 이메일을 보내려고합니다. 그래서 다음 코드를 사용했습니다.ACTION_SENDTO가 작동하지 않습니다.

String uriText = "[email protected]" + "?subject=" + URLEncoder.encode("Subject") + "&body=" + URLEncoder.encode("some text here"); 
Uri uri = Uri.parse(uriText); 
Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
sendIntent.setData(uri); 
startActivity(Intent.createChooser(sendIntent, "Send Email")); 

Gmail과 전자 메일 응용 프로그램을 모두 구성했습니다. Nexus S (JellyBean) 및 HTC T-Mobile G2 (GingerBread)에서 테스트를 마쳤습니다. 둘 다 "아무 앱도이 작업을 수행 할 수 없습니다."를 보여줍니다.

여기에 무엇이 잘못 되었습니까?

답변

9

ACTION_SENDTO을 사용하려는 경우 Urimailto: 또는 smsto: 체계를 사용해야합니다. 따라서 mailto:[email protected]을 시도하십시오.

+0

@KarthikPalanivelu : 저는 이해가 안 돼요. "정상적인 활동"이 선택자라면, 그 자체로 사라져야합니다. "정상적인 활동"이 당신의 활동 인 경우, 그 활동을 끝내기 위해 '끝내기'()를 할 수 있습니다. "정상적인 활동"이 다른 것이라면, 아마도 당신이 그것에 대해 할 수있는 일이 없을 것입니다. – CommonsWare

+0

감사합니다. 완벽하게 작동합니다. –

+0

정말 죄송합니다. 그것은 내 편이 단순한 실수였다. 나는 내가해야만하는 곳에서 휴식 진술을했다. 따라서 다음 코드를 실행하고 다른 ACTION_SEND 활동이 시작되었습니다. 나는 즉각적으로 알아 차리고 그래서 코멘트를 즉시 삭제했다. 답장을 보내 주셔서 감사합니다 :) –

7

당신으로 다음 코드를 변경 이메일을 보내는 Intent.setData를 사용하는 경우 :

String uriText = "mailto:[email protected]" + 
       "?subject=" + URLEncoder.encode("Subject") + 
       "&body=" + URLEncoder.encode("some text here"); 
Uri uri = Uri.parse(uriText); 
Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
sendIntent.setData(uri); 
startActivity(Intent.createChooser(sendIntent, "Send Email")); 
+0

코드 주셔서 감사합니다 :) –

관련 문제