ネット上のニュースなどを集めるアプリで、ニュース記事を共有する機能があるとする。
■ツイッターに投稿
■LINEに投稿
■フェイスブックに投稿
■メールで送信
メールで送信させるときは、メールアプリを暗黙的インテントで呼び出していた。
しかし、メール送信後、画面がメールアプリのままなので元のアプリまでユーザーに操作して戻ってもらわねばならなかった。
これを修正。
こうしたい:
■メール編集画面から戻るボタン→元のアプリに戻る。
■メール送信後→元のアプリに戻る。
意外と簡単に出来た。
※String url_for_mailto はmailtoのリンク文字列
この処理は「メール送信ボタン」のオンクリックリスナーなどに書かれる。
----------------------------
修正前
----------------------------
uri = Uri.parse(url_for_mailto);
//インテント作成
Intent intent = new Intent(
Intent.ACTION_SENDTO, //メールソフト起動
uri //URIインスタンス
);
//メールアプリは新たに立ち上げさせる
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//スタートアクティビティの主語はアクティビティインスタンス
activity.startActivity(intent);
----------------------------
修正前
----------------------------
uri = Uri.parse(url_for_mailto);
//インテント作成
Intent intent = new Intent(
Intent.ACTION_SENDTO, //メールソフト起動
uri //URIインスタンス
);
//メールアプリは新たに立ち上げさせる
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//スタートアクティビティの主語はアクティビティインスタンス
//インテントの開始をstartActivityForResult メソッドで行えば、メール送信後(または戻るボタンを押した時)このアプリに戻る
activity.startActivityForResult(intent, 1);
つまり、startActivityForResultメソッドを使うということですね。
0 件のコメント:
コメントを投稿