自作のメール編集画面に入力した内容をGmailで送信
※はじめに
この記事はAndroidアプリの開発が、初心者であるという方のための記事です。
そのため、なるべく複雑な説明は避け、コピー&ペイストですぐに動くものをご紹介します。
JavaやAndroidを理解されている方で細かい説明が必要な方は、当ブログ内の連載記事である「Android Tips」をご覧ください。
今回はGmailに連動させるアプリです。
下図のように自作のメール編集画面で各項目を入力し、ボタンを押下すると連携アプリ候補が出ます。
今回はGmailを対象にしているので、Gmailを選択するとGmailのメール編集画面に先ほど入力した値がセットされます。
暗黙的インテントの良い復習になりますね!
特筆する点は各項目の中で送信先の部分だけ配列を用いているということでしょうか。
理由は宛先が複数存在する可能性があるからです。
アプリの操作
- EditTextの各項目に入力
- Buttonを押下
- 表示される関連アプリ一覧の中からGmailを選択
- Gmailの各項目に、EditTextで入力した内容がセットされている
アプリ情報
アプリ完成図
MainActivity.java(ソースコード)
package com.example.gmailsample; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { EditText e1 = (EditText) findViewById(R.id.editText1); String adderss = e1.getText().toString(); EditText e2 = (EditText) findViewById(R.id.editText2); String subject = e2.getText().toString(); EditText e3 = (EditText) findViewById(R.id.editText3); String text = e3.getText().toString(); Intent i1 = new Intent(); i1.setAction(Intent.ACTION_SEND); i1.setType("text/plain"); i1.putExtra(Intent.EXTRA_EMAIL, new String[] { adderss }); i1.putExtra(Intent.EXTRA_SUBJECT, subject); i1.putExtra(Intent.EXTRA_TEXT, text); startActivity(Intent.createChooser(i1, null)); } }); } }