Композитор электронной почты в Android - PullRequest
0 голосов
/ 19 марта 2012

В моем приложении я хочу отправить электронное письмо на один аккаунт. В одно нажатие кнопки. Я использовал приведенный ниже код.это исключение

public void onClick(View v) {
             sendEmail(context, new String[]{"jayampalaniraja@gmail.com"}, "Sending Email", "Test Email", "I am body");
        }

        private void sendEmail(Context context, String[] recipientList,
                String subject, String body, String title) {
            Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
            emailIntent.setType("plain/text");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipientList);
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
            emailIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);

            try
            {
            context.startActivity(Intent.createChooser(emailIntent, title));

            }catch(Exception e)
            {
                System.out.println(e);
            }   
        }

Исключение, которое я получаю как

 "03-19 19:13:19.553: I/System.out(2010): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Работает нормально.Первым делом настройте почтовый клиент для вашего эмулятора. enter code here

public void onClick(View v) {

            // TODO Auto-generated method stub

            Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

            String aEmailList[] = { "pal@Yahoo.co.in" };
            //String aEmailCCList[] = { ""};
            //String aEmailBCCList[] = { "" };

            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
            //emailIntent.putExtra(android.content.Intent.EXTRA_CC, aEmailCCList);
            //emailIntent.putExtra(android.content.Intent.EXTRA_BCC, aEmailBCCList);

            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My subject");

            emailIntent.setType("message/rfc822");
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "My message body.");
               try
               {
            startActivity(emailIntent);
               }catch (android.content.ActivityNotFoundException ex) {
                Toast.makeText(about.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
            }


               catch(Exception e){ System.out.println(e);}
        }
1 голос
/ 19 марта 2012

Попробуйте это

private void sendEmail(Context context, String[] recipientList,
                String subject, String body, String title) {
            Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
            emailIntent.setType("plain/text");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipientList);
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
            emailIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
            emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            try
            {
            context.startActivity(Intent.createChooser(emailIntent, title));

            }catch(Exception e)
            {
                System.out.println(e);
            }   
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...