2016-06-28 8 views
1

私はホテルのためのアプリケーションを開発しています。ここでは、部屋を予約する際に、ユーザーが指定したemail-idに電子メールを送信します。今、私はそれがgmailである私のデフォルトの電子メールクライアントの1つを使用することを知っています。問題は、Gmailのメッセージ作成ウィンドウでメッセージ本文にメッセージが表示されていることですが、「宛先」フィールドは空です。どんな助け? EXTRA_EMAILdocumentationからAndroid:メールアドレス 'to'フィールドは空です

public void sendmail(View vw) 
    { 
     name=et1.getText().toString(); 
     to=et2.getText().toString(); 
     phone=et3.getText().toString(); 
     addr=et4.getText().toString(); 
     Log.i("Send email", ""); 
     Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setData(Uri.parse("mailto:")); 
      emailIntent.setType("text/plain"); 
      emailIntent.putExtra(Intent.EXTRA_EMAIL, to); 
      emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Thanks for using our app"); 
      emailIntent.putExtra(Intent.EXTRA_TEXT, "Hello mr"+name+"We just received an email with your details asking for a reservation:"+phone+" "+addr+"for room number"+x+""); 
      try { 
       startActivity(Intent.createChooser(emailIntent, "Send mail...")); 
       finish(); 
       Log.i("Finished sending email...", ""); 
      } 
      catch (android.content.ActivityNotFoundException ex) { 
       Toast.makeText(getBaseContext(), "There is no email client installed.", Toast.LENGTH_SHORT).show(); 
      } 
    } 


} 
+1

使用しているコードを示す[mcve]を入力してください。 – CommonsWare

答えて

1

に配信されなければならない[]保持電子メールアドレス文字列ここ

はコードがあります。

このような何か作業をする必要があります:

Intent mailIntent = new Intent(Intent.ACTION_SENDTO); 
mailIntent.setData(Uri.parse("mailto:")); 
mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{to}); 
mailIntent.putExtra(Intent.EXTRA_SUBJECT, "Thanks for using our app"); 
mailIntent.putExtra(Intent.EXTRA_TEXT, "Hello mr"+name+"We just received an email with your details asking for a reservation:"+phone+" "+addr+"for room number"+x+""); 
if (mailIntent.resolveActivity(getPackageManager()) != null) { 
    startActivity(mailIntent); 
} else { 
    // no e-mail app installed 
} 
1

はこれを試してみてください:

emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 

電子メールの意図は、String配列を期待していますがstring.Soを提供している、それはあなたの中に働いていません場合!

関連する問題