質問

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経由で複数のメッセージ体を送信しようとしていますが、「ロック!!!」だけです。表示されています。私がやりたいことは、複数のメッセージを表示して(別の行に)事前にフォーマットされていることができます。 たとえば...

Hello World
You Rock!!!
.

役に立ちましたか?

解決

複数行メッセージを送信したい場合は、2つの文字列の間に改行を入れてください。

x + "\n" + y
.

複数のメッセージを送信したい場合は、それを行う方法はありません。[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./活動化。html#動度Result Result(、int、android.content.intent)

他のヒント

問題は、Putextraがバンドル引数内で書き込まれたすべてのもの(2番目のもの)のすべてのものを追加していないが、そのコンテンツをリセットしているので、 のオーバーライド>拡張データは拡張データです。それが最後の部分を見ることができます。

私はそれを試していませんが、あなたがこのようなことをするならば、それは機能することができます:

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);
.

文字\ nは、改行(http://en.wikipedia.org/wiki/wiki/newline)特殊文字です。つまり、その文字列を2行に書き込んでいます(\ nは\ nは右に分割します)。\ nはほとんどすべての文字列表現に存在しているので、ここでも動作することができます。試してみてください。 ところでアドバイスと同じように、変数(xまたはyだけでなく)に理解できる名前を与えてみてください。コードを再利用したい場合やエラーが発生したい場合は、正確にxまたはyが何であるかを知りたいかもしれません。

ベストアンズ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top