2011-02-16 10 views
3
String x="Hello World"; 
String y="You Rock!!!"; 
Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.putExtra("sms_body", x); 
sendIntent.putExtra("sms_body", y); 
sendIntent.setType("vnd.android-dir/mms-sms"); 
startActivity(sendIntent); 

SMSで複数のメッセージ本文を送信しようとしていますが、「You Rock !!!」表示されています。私がやりたいことは、複数のメッセージを表示し、それを(異なる行に)あらかじめフォーマットしておくことができることです。AndroidでSMSの意図を送信する

Hello World 
You Rock!!! 

答えて

6

あなただけの2つの文字列の間に改行を入れて複数行のメッセージを送信したい場合は例えばので

...。

複数のメッセージを送信したい場合は、それを行う方法はありません。私はそれを認識しています。 [startActivityForResult] [1]を使用し、次にあなたのアクティビティ[onActivityResult] [2]メソッドで次のメッセージを送信することができます。

[1]:http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent、INT)

[2]: http://developer.android.com/reference/android/app/Activity.html#onActivityResult(int、INT、android.content.Intent)

+0

そのとても簡単な笑、ありがとうございます! =] – nubme

3

問題はputExtraとして、拡張データを上書きされることですBundle引数(2番目の引数)の中に書くすべてのものをリストに追加するのではなく、その内容をリセットします。それで、最後に「sms_body」という名前の特別な名前を「Hello World」に設定してから、「You Rock !!!」にリセットするだけで、最後の部分を見ることができます。

私はそれを試していないが、あなたはこのような何かあれば、それは仕事ができる:文字\ nは改行で

String smsBody="Hello World\nYou Rock!!!"; 
Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.putExtra("sms_body", smsBody); 
sendIntent.setType("vnd.android-dir/mms-sms"); 
startActivity(sendIntent); 

を(http://en.wikipedia.org/wiki/Newline )特殊文字です。つまり、その文字列を2行に書いています(\ nが正しいところでそれらを分割しています)。 \ nはほとんどすべての文字列表現に存在するので、ここでも使えます。試してみてください。

ちょうどアドバイスとして、(xまたはyだけでなく)変数に分かりやすい名前をつけてみてください。コードを再利用したい場合やエラーが見つかった場合は、正確にxまたはyが何であるか知りたいかもしれません。

お礼

+0

よろしくお願いします。私は単純にstackoverflowの例にx、yを使用します。 – nubme

+0

OK、それは "ちょっとした事"のリマインダー=でした。 – Korcholis

関連する問題