#android
#Android
Вопрос:
public class AndroidEmailActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText edittextEmailAddress = (EditText) findViewById(R.id.email_address);
final EditText edittextEmailSubject = (EditText) findViewById(R.id.email_subject);
final EditText edittextEmailText = (EditText) findViewById(R.id.email_text);
Button buttonSendEmail_intent = (Button) findViewById(R.id.sendemail_intent);
buttonSendEmail_intent.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String emailAddress = edittextEmailAddress.getText().toString();
String emailSubject = edittextEmailSubject.getText().toString();
String emailText = edittextEmailText.getText().toString();
String emailAddressList[] = { emailAddress };
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, emailAddressList);
intent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
intent.putExtra(Intent.EXTRA_TEXT, emailText);
startActivity(Intent.createChooser(intent,
"Choice App t send email:"));
}
});
}
}
Это мой код.Я не получаю никаких писем.Мне нужно отправлять электронные письма с помощью этого метода намерения.как я могу этого добиться?Где я ошибся?пожалуйста, дайте несколько предложений.
При нажатии кнопки «Отправить электронное письмо» я получаю сообщение об ошибке «Никакие приложения не могут выполнить это действие».
Комментарии:
1. лучше проверить это на устройстве, а не в эмуляторе
2. я думаю, вы тестируете это приложение в эмуляторе? я прав? в эмуляторе нет такого приложения, как gmail или любое другое, которое может отправлять электронные письма. Поэтому лучше запускать это приложение на устройстве (мобильные телефоны).
Ответ №1:
Это мой код для отправки электронных писем:
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, activity.getString(R.string.share_email_subject));
sendIntent.setType("message/rfc822");
activity.startActivity(Intent.createChooser(sendIntent, "Choose Email Client"));
Попробуйте удалить обычный / текстовый тип?
Ответ №2:
Рекомендуется работать с оригинальным устройством, а не на виртуальном устройстве. Я предлагаю вам попробовать этот блок кода на реальном устройстве.
Intent sendEmail= new Intent(Intent.ACTION_SEND);
sendEmail.setType("plain/text");
startActivity(Intent.createChooser(sendEmail, "Email:"));
Если вы хотите узнать больше о электронной почте с намерением, обратитесь к этому сообщению:
http://androidtutforbeginner.blogspot.com/2012/03/send-email-with-intent-in-android.html