intent経由でメール送信した時の動作について

378 views
Skip to first unread message

nadesico39

unread,
Jan 28, 2011, 10:00:17 PM1/28/11
to 日本Androidの会
現在、アプリを構築中ですが、
intentでGmailアプリを起動し、メール送信したときの
動作で問題があります。
仕様なのか、端末の問題なのか、ソフトの書き方に問題があるのか
教えてください。

■現象
・自作のアプリで下記のとおり、情報をセットし、Intentでメールを起動
 Intent intent = new Intent();
 intent.setAction( Intent.ACTION_SENDTO );
 intent.setData(Uri.parse("mailto:" + "xx...@gmail.com"));
 intent.putExtra(Intent.EXTRA_SUBJECT, "test" );
 intent.putExtra(Intent.EXTRA_TEXT, sb.toString());
 activity.startActivity(intent);
→メールアプリ一覧が表示される

・メールアプリ一覧より、Gmailを選択する。
→Gmailアプリの各欄にはそれぞれ情報が入力されている。

・件名、アドレスなどの入力を一切せず、送信のみ実行する。
→送信したことになっているが、受信側にメールが来ない。★問題点
 ただし、Gmailアプリで入力を一字でも行うと正常にメールが受信される。

mosaki4

unread,
Jan 29, 2011, 3:03:06 AM1/29/11
to android-g...@googlegroups.com
大崎といいます。

試してみましたが、「送信」ボタンのみで正常に送信されました
機種名はHT-03A、コードは下記の通りです。

Intent intent = new Intent();
intent.setAction( Intent.ACTION_SENDTO );
intent.setData(Uri.parse("mailto:" + "xx...@gmail.com"));
intent.putExtra(Intent.EXTRA_SUBJECT, "test_title" );
intent.putExtra(Intent.EXTRA_TEXT, "test_text");
startActivity(intent);

動作しない原因を調べるには下記の方法はいかがでしょうか?

1.最小構成でメールを送信する
sbと記述されている部分が影響している可能性もあるので、固定の文字列で送信できるかを検証してみる。

2.受信側について
>→送信したことになっているが、受信側にメールが来ない。★問題点
と記述されていますが、この受信側とはパソコンのブラウザでGmailを受信ということでしょうか?
別の方法で受信されている場合はそれが原因かもしれません(たとえば自作のAndroidメーラー等)

3.端末の機種名を記述して他の方に試してもらう
メールの本文に機種名がかかれていないようですので機種が原因かどうかは判別できないと思われます


2011年1月29日12:00 nadesico39 <nades...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


nadesico39

unread,
Jan 29, 2011, 4:58:51 AM1/29/11
to 日本Androidの会
大崎さん

nadesico39です。返信ありがとうございます。
まず結論としては、 intent.putExtra(Intent.EXTRA_TEXT, "test_text");
で渡す文字列が長すぎると本現象が起こることがわかりました。

sbはStringbufferで、文字列としては確認した際、609文字でした。
sbの格納データを短い文字列"test"にかえると問題なく、
また、intent.putExtra(Intent.EXTRA_TEXT, "609文字");にするとダメでした。

Stringbuffer、Stringでは仕様を満たせないので、
添付データ(テキスト)で送信することにしました。
(SENDTOもSENDにして、mailtoの部分も入力するように修正しました)

ありがとうございました。

On 1月29日, 午後5:03, mosaki4 <mosa...@gmail.com> wrote:
> 大崎といいます。
>
> 試してみましたが、「送信」ボタンのみで正常に送信されました
> 機種名はHT-03A、コードは下記の通りです。
>
> Intent intent = new Intent();
> intent.setAction( Intent.ACTION_SENDTO );
> intent.setData(Uri.parse("mailto:" + "x...@gmail.com"));
> intent.putExtra(Intent.EXTRA_SUBJECT, "test_title" );
> intent.putExtra(Intent.EXTRA_TEXT, "test_text");
> startActivity(intent);
>
> 動作しない原因を調べるには下記の方法はいかがでしょうか?
>
> 1.最小構成でメールを送信する
> sbと記述されている部分が影響している可能性もあるので、固定の文字列で送信できるかを検証してみる。
>
> 2.受信側について>→送信したことになっているが、受信側にメールが来ない。★問題点
>
> と記述されていますが、この受信側とはパソコンのブラウザでGmailを受信ということでしょうか?
> 別の方法で受信されている場合はそれが原因かもしれません(たとえば自作のAndroidメーラー等)
>
> 3.端末の機種名を記述して他の方に試してもらう
> メールの本文に機種名がかかれていないようですので機種が原因かどうかは判別できないと思われます
>
> 2011年1月29日12:00 nadesico39 <nadesic...@gmail.com>:
>
>
>
>
>
>
>
> > 現在、アプリを構築中ですが、
> > intentでGmailアプリを起動し、メール送信したときの
> > 動作で問題があります。
> > 仕様なのか、端末の問題なのか、ソフトの書き方に問題があるのか
> > 教えてください。
>
> > ■現象
> > ・自作のアプリで下記のとおり、情報をセットし、Intentでメールを起動
> > Intent intent = new Intent();
> > intent.setAction( Intent.ACTION_SENDTO );
> > intent.setData(Uri.parse("mailto:" + "x...@gmail.com"));
> > intent.putExtra(Intent.EXTRA_SUBJECT, "test" );
> > intent.putExtra(Intent.EXTRA_TEXT, sb.toString());
> > activity.startActivity(intent);
> > →メールアプリ一覧が表示される
>
> > ・メールアプリ一覧より、Gmailを選択する。
> > →Gmailアプリの各欄にはそれぞれ情報が入力されている。
>
> > ・件名、アドレスなどの入力を一切せず、送信のみ実行する。
> > →送信したことになっているが、受信側にメールが来ない。★問題点
> > ただし、Gmailアプリで入力を一字でも行うと正常にメールが受信される。
>
> > --
> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、android-group-j...@googlegroups.com<android-gro up-japan%2Bunsu...@googlegroups.com>にメールを送信してください。
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。
Reply all
Reply to author
Forward
0 new messages