Как получить текст в форме обратной связи моего приложения на мой адрес электронной почты? Пожалуйста, смотрите детали
Я сделал форму обратной связи в моем приложении для Android.
Я хочу, чтобы я заполнил весь текст в этой форме (editText
) для доставки на мой адрес электронной почты без открытия каких-либо других приложений или около того.
Я не смог понять, как это сделать, но потом подумал, как это сделать:
EditText etUserLikeResponse = (EditText) findViewById(R.id.user_like_response);
EditText etUserDontLikeResponse = (EditText) findViewById(R.id.user_dont_like_response);
EditText etUserOtherFeaturesResponse = (EditText) findViewById(R.id.user_other_features_response);
String etUserLikeResponseText = etUserLikeResponse.getText().toString();
String etUserDontLikeResponseText = etUserDontLikeResponse.getText().toString();
String etUserOtherFeaturesResponseText = etUserOtherFeaturesResponse.getText().toString();
Uri etUserLikeResponseTextUri = Uri.parse(etUserLikeResponseText);
Uri etUserDontLikeResponseTextUri = Uri.parse(etUserDontLikeResponseText);
Uri etUserOtherFeaturesResponseTextUri = Uri.parse(etUserOtherFeaturesResponseText);
final ArrayList<Uri> userResponseUri = new ArrayList<>();
userResponseUri.add(etUserLikeResponseTextUri);
userResponseUri.add(etUserDontLikeResponseTextUri);
userResponseUri.add(etUserOtherFeaturesResponseTextUri);
Button btnSendFeedback = (Button) findViewById(R.id.btn_send_feedback);
btnSendFeedback.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final Handler handler2 = new Handler();
handler2.postDelayed(new Runnable() {
@Override
public void run() {
Intent userFeedbackIntent = new Intent();
userFeedbackIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
userFeedbackIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, userResponseUri);
userFeedbackIntent.setType("message/rfc822");
userFeedbackIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc.xyz321ba@gmail.com"});
startActivity(userFeedbackIntent);
}
}, 200);
}
});
Я сначала захватил текст, написанный на EditText
и затем преобразуется в Uri
сделать то же самое, что и здесь: http://developer.android.com/training/sharing/send.html
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что, когда я нажимаю на btnSendFeedback
и выберите Gmail, там написано " Не удалось прикрепить файл ".
Поскольку я новичок, я не могу понять, что я делаю неправильно.
Пожалуйста, дайте мне знать, и если есть какой-то другой хороший способ выполнить эту задачу, то, пожалуйста, расскажите об этом.
Извините за плохое форматирование вопроса.
Благодарю.
1 ответ
Хорошо, похоже, что вы используете Intent.EXTRA_STREAM
который включает в себя "файл", а у вас нет файла, не так ли? (проверьте этот ответ: Android: Intent.ACTION_SEND с EXTRA_STREAM не прикрепляет изображение при выборе приложения Gmail в htc Hero), поэтому вы можете создать текстовый файл, а затем попытаться прикрепить его к своей электронной почте.
Другой вариант может быть просто заполнить тело вашего письма (отметьте: Отправить адрес электронной почты) с данными, которые вы хотите отправить.
Обновление: если вы хотите отправить электронное письмо с данными в теле письма, см. Developer.android.com: намерение по электронной почте
И если вы хотите избежать других приложений в процедуре, вы можете проверить это так: Ответ на отправку электронной почты в Android с использованием API Java, не используя встроенное приложение по умолчанию.