0

さまざまなエントリ変数をメールで送信しようとしていますが、複数の「追加テキスト」インテントを入力しようとすると、指定された最後の追加テキストのテキストのみが送信されます。すべてのエントリ テキストを電子メールに含めるにはどうすればよいですか? コードは次のとおりです。

@Override
public void onClick(View v) {
    if (v.getId()==findViewById(R.id.enviar).getId())
    {
        Intent intentEmail = new Intent(Intent.ACTION_SEND, Uri.fromParts("mailto", "villasantdesign@gmail.com", null));
        intentEmail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"villasantdesign@gmail.com"});
        intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
        intentEmail.putExtra(Intent.EXTRA_TEXT, etlugar.getText()); 
        intentEmail.putExtra(Intent.EXTRA_TEXT, etfecha.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etcable.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etqe.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etantena.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etampli.getText());
        intentEmail.putExtra(Intent.EXTRA_TEXT, etmodulo.getText());
        intentEmail.setType("message/rfc822");
        startActivity(Intent.createChooser(intentEmail, "Enviar"));         
        }}}
4

3 に答える 3

5

私はこれについて少し知識を得ました。あなたのコードを私のサンプルコードの下のように変換できますか?

public void onClick(View v) {

     String message = "";
     message += "\n" + etlugar.getText()); 
     message += "\n" + etfecha.getText());
     message += "\n" + etcable.getText()
     etc....


     Intent intentEmail = new Intent(Intent.ACTION_SEND, Uri.fromParts("mailto", "villasantdesign@gmail.com", null));
     intentEmail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"villasantdesign@gmail.com"});
     intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
     intentEmail.putExtra(Intent.EXTRA_TEXT, message ); 
     intentEmail.setType("message/rfc822");
     startActivity(Intent.createChooser(intentEmail, "Enviar"));   

}
于 2013-07-27T07:08:13.673 に答える
3

キー識別子の 1 つである Extra Text を送信しようとしています。つまり、余分に入れるたびに交換されます。そのため、最後の追加テキストのみが送信されます。追加のテキストごとに異なるキーを使用して、それを取得してください。お気に入り

intentEmail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"villasantdesign@gmail.com"});
        intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Consulta Técnica");
        intentEmail.putExtra("Extra Text 1", etlugar.getText()); 
        intentEmail.putExtra("Extra Text 2", etfecha.getText());
        intentEmail.putExtra("Extra Text 3", etcable.getText());
        intentEmail.putExtra("Extra Text 4", etqe.getText());
        intentEmail.putExtra("Extra Text 5", etantena.getText());
        intentEmail.putExtra("Extra Text 6", etampli.getText());
        intentEmail.putExtra("Extra Text 7", etmodulo.getText());

上記で使用したように、独自のキー名を文字列として配置できます。getextras でそのキーから取得します。

于 2013-07-27T07:01:46.530 に答える
0

追加するすべてのテキストを連結してから、1 つだけ追加しますIntent.EXTRA_TEXTIntent.EXTRA_TEXTバンドル内の値のキーであるため、複数追加することはできません。

于 2013-07-27T07:02:10.073 に答える