2012-03-03 2 views
0

이것은 gmail을 호출하는 코드입니다. gmail을 호출하여 일부 조언을 보내면 블루투스가 나옵니다.

private void sendMail() { 
    // Device model 
    String PhoneModel = android.os.Build.MODEL; 
    // Android version 
    String AndroidVersion = android.os.Build.VERSION.RELEASE; 

    final Intent emailIntent = new Intent(
      android.content.Intent.ACTION_SEND); 

    emailIntent.setType("plain/text"); 

    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
      new String[] { "****@gmail.com"}); 

    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, 
      "'some feedbace..."); 

    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "—— phoneModel:" 
      + PhoneModel + ";ROM:" + AndroidVersion); 

    startActivity(Intent.createChooser(emailIntent, "Sending mail...")); 
} 

내가 피드백을 보내 Gmail을 호출하기 위해 메뉴를 클릭

는 블루투스는 Gmail을, 너무 나와서, 나를 없었나 선택을 위해 난 그냥 Gmail은 app.what의 잘못을 호출 할 대기 내 코드와. 아무 도와주세요!

+1

Gmail과 같은 URI가 유효한 대답은 아니지만 – CommonsWare

+0

나는 이메일 응용 프로그램을 보내고 싶지만, 내가 클릭했을 때, 블루투스도 나왔다. 나는 블루투스를 걸러내는 법을 모르겠다. – smileVann

답변

1

당신이 시도 할 수 있습니다.

emailIntent.setType("application/octet-stream"); 

을 또는 대안 당신은 텐트보다 제한된을 구축하는 패키지 매니저를 사용할 수 있으며,에 사용자에 대한 자신의 대화 상자를 표시 이메일 앱을 선택하십시오.

하지만 실제로 당신이하고있는 일과 함께 Android의 조류에 맞서 수영하고 있습니다. Android는 메시지를 "보낸 사람"으로 만들고 해당 의도를 허용하는 모든 앱을 표시하도록 설계되었으므로 사용자가 실제로 원하는 옵션을 제거하지 않도록주의하십시오. 이전

+0

나는 당신이 말한 것을 시도했으나 문제는 남아있었습니다. 나는 사용자가 블루투스 대신 이메일로 의견을 보내길 원합니다.하지만 opitions.i에서 앱을 삭제할 수는 없습니다. 앱을 알고 있기 때문에 가능합니다. – smileVann

+0

감사합니다. 대단히 똑같습니다. – smileVann

0

ACTION_SEND 대신 android.content.Intent.ACTION_SENDTO를 사용해보세요. 여러 전자 메일 클라이언트가 설치되어있는 경우에도 전자 메일 클라이언트를 선택하라는 메시지가 나타납니다.

자세한 내용은 this question을 참조하십시오. (:이 시도하지 않은 주) :

당신이 절대적으로 안드로이드 프롬프트 사용자는 this answer에 제안 무엇을 시도 할 수있는 Gmail을 사용하지 않는 경우

당신은 특히 Gmail을 원하는 경우, 조금 더 똑똑해야합니다. ( 올바른 MIME 유형은 "일반/텍스트"가 아닌 "텍스트/일반"입니다. 구현에 이상이 있습니까, GMail은 후자에 응답하는 유일한 활동 인 것 같습니다. 행동 난에 카운트 것)

+0

처음에는 Gmail에 특별한 감사의 말을 전하지 않았다. 블루투스 대신 이메일 응용 프로그램을 원합니다. .ACTION_SENDTO를 사용하면 "응용 프로그램이 없습니다 ..."오류가 발생하지만 모두에게 감사드립니다. – smileVann

+0

@irain :'ACTION_SENDTO'는'mailto :''Uri' 값으로 완벽하게 작동합니다. – CommonsWare

+0

내 코드를 수정하도록 도와 줄 수 있습니까? – smileVann

0
private void sendMail() { 
    String body = "\n 机型:" + android.os.Build.MODEL + ";ROM:" 
      + android.os.Build.VERSION.RELEASE; 
    Uri mailUri = Uri.parse("mailto:[email protected]"); 
    Intent emailIntent = new Intent(Intent.ACTION_SENDTO, mailUri); 
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "'易学堂'问题反馈与建议"); 
    emailIntent.putExtra(Intent.EXTRA_TEXT, body); 
    startActivity(emailIntent); 
} 

나는 마침내 그것을 완료했다. 누구나 Gmail을 사용하지는 않습니다. 일부 Android 기기에는 Gmail이 없습니다.
관련 문제