2016-06-16 2 views
0

Я пытался использовать этот код для отправки электронной почты в приложении для Android, но я получил эту ошибкуКак я могу отправить почту в приложении для Android приложения не может выполнить это действие

no apps can perform this action 

code.java

private void send() 
    { 
     final String subject2 = subject.getText().toString().trim(); 
     final String message2 = message.getText().toString().trim(); 
     final String from2 = from.getText().toString().trim(); 
     String[] TO = {"[email protected]"}; 
     Uri uri = Uri.parse("mailto:"+from2) 
       .buildUpon() 
       .appendQueryParameter("subject", subject2) 
       .appendQueryParameter("body", message2) 
       .build(); 
     Intent emailIntent = new Intent(Intent.ACTION_SENDTO, uri); 
     emailIntent.setType("text/plain"); 
     emailIntent.putExtra(Intent.EXTRA_EMAIL, TO); 
     startActivity(Intent.createChooser(emailIntent, "Send mail...")); 
    } 

Помогите мне пожалуйста заблаговременно

+0

Если текущее устройство не имеет каких-либо приложение, которое может обрабатывать электронной почты, вы не можете использовать намерения. – Joucks

ответ

0

Использование Intent android попытается найти приложение для отправки почты.

В качестве альтернативы вы можете попробовать javax-mail api для этого.

Эти ссылки будут полезны:

Добавление баночку в Android Studio: Android Studio: Add jar as library?

Отправка почты с использованием Javax почты http://www.tutorialspoint.com/java/java_sending_email.htm

+0

спасибо, я проверю эту ссылку. Я тестирую свое приложение на genymotion. Как установить приложения электронной почты. Поэтому каждый пользователь должен установить приложение электронной почты перед использованием моего приложения. Невозможно отправить электронное письмо напрямую? –

+0

Таким образом, большинство устройств Android имеет приложение электронной почты. Просто потому, что вы используете виртуальное устройство, у него нет приложения электронной почты. Поэтому, если вы используете намерение отправить почту, тогда на устройстве откроется приложение электронной почты, после чего пользователю придется отправить его вручную. Используя java mail api, почта будет отправлена, если пользователь не узнает об этом. «Невозможно отправить электронную почту напрямую?» напрямую, вы имеете в виду без взаимодействия с пользователем? В этом случае можно отправить электронное письмо прямо –

+0

Итак, мой код в моем первом сообщении правильный? будет ли он работать правильно в смартфоне? потому что Android не может больше обнаружить мой смартфон. У вас есть идея обнаружить это снова? –

Смежные вопросы