2016-05-18 2 views
-1

Я пытаюсь создать мероприятие для отправки электронной почты. Я использую Intent Object «Action send» для запуска почтового клиента.Почему не соединение с клиентом? Android

Однако не обнаруживает почтовый клиент, это первый раз, когда я это делаю, пожалуйста, помогите. Что не так с моим кодом?

public class email extends Activity { 

    private Button send; 
    DBHelper mydb1; 
    private ListView obj; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mydb1 = new DBHelper(this); 
     setContentView(R.layout.email_display); 
     ArrayList array_list = mydb1.getAllCotacts(); 
     ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array_list); 

     obj = (ListView) findViewById(R.id.listView2); 
     obj.setAdapter(arrayAdapter); 


      send =(Button) findViewById(R.id.send_button); 

      send.setOnClickListener(new View.OnClickListener() 

            { 
             @Override 
             public void onClick(View v) { 
              try { 
               Intent emailIntent = new Intent(Intent.ACTION_SEND); 
               emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
               emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
               emailIntent.putExtra(Intent.EXTRA_TEXT, "HEY"); 
               emailIntent.putExtra(Intent.EXTRA_CC, "[email protected]"); 
               emailIntent.setType("message/rfc822"); 
               startActivity(emailIntent); 
              } catch (ActivityNotFoundException anfe) { 
               Toast toast = Toast.makeText(email.this, "Sorry, no email client found", Toast.LENGTH_LONG); 
               toast.show(); 
              } 
             } 
            } 

      ); 
     } 
    } 
+0

Есть ли какие-либо приложения на тестовом устройстве, которое может получить намерению MIME типа 'сообщений/rfc822'? –

+1

Не могли бы вы дать больше информации об ошибке, пожалуйста? MimeType кажется проблемой, http://www.tutorialspoint.com/android/android_sending_email.htm посмотреть на него –

+0

[См. Этот вопрос] (http://stackoverflow.com/questions/8701634/send-email- намерение) – ZeusNet

ответ

0

на кнопке мыши:

Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});   
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, "message"); 
emailIntent.setType("message/rfc822"); 
startActivity(Intent.createChooser(emailIntent, "Choose an Email client :")); 

В соответствии с Вашим изменением кода

startActivity(emailIntent); 

в

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

ИЛИ

попробовать с,

Вместо использовать ACTION_SENDTO, обеспечивая электронной почты: Uri

intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:")); 

Это может поможет.

0
Intent i = new Intent(Intent.ACTION_SEND); 
    i.setType("text/plain"); 
    i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
    i.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
    i.putExtra(Intent.EXTRA_TEXT , "body"); 
    i.putExtra(Intent.EXTRA_CC, new String[] { "[email protected]" }); 
    try { 
     startActivity(Intent.createChooser(i, "Send mail...")); 
    } catch (android.content.ActivityNotFoundException ex) { 
     Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show(); 
    } 

Редактировать

Попробуйте использовать:

i.setType("text/plain"); 
+0

Это еще одна ошибка «Никакие приложения не могут выполнить это действие», почта настроена в моем эмуляторе и уже пробовала с открытым текстом –

+0

@CarlosSiverioGonzalez Я обновляю свой ответ. Пожалуйста, проверьте. –

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