エミュレーターを使用して、インテント経由でテキスト メールを送信する通常のコードがあります。私が抱えている問題は、電子メール クライアントの「作成」アクティビティ (ICS AVD を使用) が startActivity() の実行時に表示されることです。すべてのフィールドが正しく入力されているので、[送信] をクリックしてプロセスを終了する必要があります。その後、コントロールはアプリケーション UI に戻り、電子メールは宛先に正しく配信されます。エミュレータの電子メール アプリケーションをポップアップ表示せずに、バックグラウンドでスムーズに送信するにはどうすればよいですか? これが私のコードです:
public class AppPilot extends Application {
...
private static Context context;
...
@Override
public void onCreate() {
super.onCreate();
context = this;
}
....
/**
* Send an Email
* @param emailAddress
* @param emailObject
* @param emailBody
*/
public static void sendEmailCoupon(String emailAddress, String emailSubject,
String emailBody) {
String emailadd[] = { emailAddress };
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent.putExtra(Intent.EXTRA_EMAIL, emailadd);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.EXTRA_TEXT, emailBody);
context.startActivity(emailIntent);
}