2013-12-18 2 views
0

Возможно ли передать массив в виде содержимого по электронной почте?Отправка массива в качестве содержимого по электронной почте

Я пытаюсь:

Это все в onClick методом

Получение "EditText полей" первые

EditText tbLocation = (EditText)findViewById(R.id.tbLocation); 

Создание строки из него

String tbLocationMessage = tbLocation.getText().toString(); 

И затем попытка отправить электронное письмо

Intent email = new Intent(Intent.ACTION_SEND); 
       email.putExtra(Intent.EXTRA_EMAIL, new String[] {}); 
       email.putExtra(Intent.EXTRA_SUBJECT, "Near Miss Report"); 
       email.putExtra(Intent.EXTRA_TEXT, new String []{tbLocationMessage,tbFuActionMessage,tbImActionMessage,tbIssueToRaiseMessage}); 

       // need this to prompts email client only 
       email.setType("message/rfc822"); 

       startActivity(Intent.createChooser(email, 
         "Choose an Email client :")); 

      } 

Когда я установил некоторые точки останова, все массивы заполнены текстом, который я ввел в текстовые поля. Но тогда, когда я выбираю свой почтовый клиент («Gmail»), текстовое поле создается пустым ...

Почему это происходит?

+0

Try передавая фактическую текстовую строку в строке email.putExtra (Intent.EXTRA_TEXT, новый String [] {tbLocationMessage, tbFuActionMessage, tbImActionMessage, tbIssueToRaiseMessage}); вместо передачи ссылки на объект. – Techfist

+0

@Techfist хорошо, что это сработает, когда я передам только одну строку .. но я хочу передать более одного, и я должен поместить их в какой-то комплект или Array и т. Д. Или я ошибаюсь, и если да, m sry – TamoDaleko

+0

, тогда контактируйте их и пройдите, в чем проблема? – Techfist

ответ

2

Используйте приведенный ниже фрагмент кода, чтобы получить объект типа String из массива String, и передать его в

private String getMyStringMessage(String[] arr){ 
    StringBuilder builder = new StringBuilder(); 
    for(String s : arr) { 
    builder.append(s); 
    } 
    return builder.toString(); 
} 

email.putExtra(Intent.EXTRA_TEXT, getMyStringMessage(yout_string_array)); 
Смежные вопросы