質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

2回答

1784閲覧

インテントで複数のメールアドレスをCCに設定したい

reoko

総合スコア10

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2015/07/18 15:05

Layoutファイルに3つEdittextがあり、一つ目にメインのメールアドレスを、二つ目・三つ目にはCCに入れるメールアドレスを入力できるようにしています。
入力したアドレスをインテントでメール送信ソフト上に表示できるようにしたいのですが、メインのメールアドレスと一つのCCアドレスの場合は表示ができるのですが、CCアドレスを複数設定する場合うまくいきません。
作成中のコードは下記の通りです。

// String abcにメインのメールアドレス // def,ghiにはCCのメールアドレスを設定するようにしています。 String abc=font; String def=font2; String ghi=font3; intent.putExtra(Intent.EXTRA_EMAIL, new String[]{abc}); intent.putExtra(Intent.EXTRA_CC, new String[]{def}); //↑この場合は、CCアドレスがちゃんと表示できましたが、 intent.putExtra(Intent.EXTRA_CC, new String[]{def}+","+new String[]{ghi}); //↑ こちらのように複数のCCアドレスを表示しようとすると一つも CCアドレスの表示ができませんでした。 どのようにしたら、複数のCCアドレスを表示させることができるのか教えてください。 よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

java

1 intent.putExtra(Intent.EXTRA_CC, new String[]{def});

Intent.EXTRA_CCの動作がわかりませんが,これで正しくCCが表示できるということは,
このIntentはString配列を受け取るのが正しい形として補足します.
問題のこのコード

java

1intent.putExtra(Intent.EXTRA_CC, new String[]{def}+","+new String[]{ghi});

この第2引数はString配列ではなくただのStringになっています.
配列は参照型で,Objectとして扱われるので,文字列連結の対象になるとtoString()の返り値が連結されます.
この場合クラス名@ハッシュコードの形の文字列を返すことになります.
なのでこの第2引数は「クラス名@ハッシュコード,クラス名@ハッシュコード」という単一の文字列を表すため,引数として不適切なために,何も表示されないのではないかと思います.

投稿2015/07/18 15:23

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reoko

2015/07/19 05:15

swordoneさん、引数についてのご指導ありがとうございました。 putExtraの第2引数に二つアドレスを引数として入れるのではなく、引数に入れる前の段階でアドレスを","でつなぐ形で試してみたところ、うまくいきました。試した方法は 下記の通りです。 String abc=font; String def=font2; String ghi=font3; String jkl=def+","+ghi; //ここでfont2とfont3のアドレスを合わせたものを変数jklに入れました。 intent.putExtra(Intent.EXTRA_EMAIL, new String[]{abc}); intent.putExtra(Intent.EXTRA_CC, new String[]{jkl});
swordone

2015/07/19 06:26

それ,配列にする意味ありますか?
guest

0

未検証ですが、自力で;をつけないで、

java

1intent.putExtra(Intent.EXTRA_CC, new String[]{def, ghi});

としてみてはいかがでしょう。

投稿2015/07/18 15:09

terushu

総合スコア358

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reoko

2015/07/18 15:21

terushu様、ご回答ありがとうございます。教えていただいた方法を試してみましたところ、1つ目のCCアドレスは表示できましたが、2つ目のアドレスは”見つかりません”とのコメントが表示されてしまいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問