Pergunta

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

Eu estou tentando enviar um de vários corpos de mensagens via SMS, mas apenas "Você Rock!!!" é exibida.O que eu quero fazer é ser capaz de exibir várias mensagens e têm pré-formatado (em linhas diferentes).

Assim, por exemplo...

Hello World
You Rock!!!
Foi útil?

Solução

Se você deseja enviar uma mensagem multi-linha basta colocar uma quebra de linha entre as 2 cadeias de caracteres.

x + "\n" + y

se pretende enviar várias mensagens não há nenhuma maneira de fazer isso, que eu estou ciente.Você pode usar [startActivityForResult][1], em seguida, em suas atividades [onActivityResult][2] método que você pode enviar em seguida, a próxima mensagem.

[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, o android.conteúdo.A intenção)

Outras dicas

O problema é que você está substituindo os dados estendidos, como putExtra não está a adicionar a uma lista de tudo o que você escrever dentro do Pacote de argumento (o segundo), mas a redefinição de seu conteúdo.É por isso que você só pode ver a última parte, porque você defina primeiro o extra chamado "sms_body" para "Hello World" e, em seguida, repor-lo para "Você Rock!!!".

Eu ainda não tentei, mas poderia funcionar se você fizer algo parecido com isto:

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

O caractere uma nova linha (http://en.wikipedia.org/wiki/Newline) caractere especial, o que significa que você está escrevendo essa cadeia de caracteres em duas linhas (dividindo-os para a direita, onde ). está presente em quase todos representação de Seqüência de caracteres, para que ele possa funcionar aqui também.Experimente e diga-nos.

E apenas como um conselho, tente dar compreensível nomes de variáveis (e não apenas x ou y).Se você quiser reutilizar o código ou se você encontrar erros, você poderá querer saber o que exatamente x ou y são.

Melhores cumprimentos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top