2012-03-19 84 views
0

在我的應用程序,我想發送電子郵件到一個帳戶。在一個按鈕單擊event.i使用下面的代碼。這有例外電子郵件在Android的作曲家

public void onClick(View v) { 
      sendEmail(context, new String[]{"[email protected]"}, "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. 
+0

例外情況是「03-19 19:13:19.553:I /的System.out(2010):android.util.AndroidRuntimeException:從一個活動上下文之外調用startActivity()需要FLAG_ACTIVITY_NEW_TASK標誌。這真的是你想要的嗎?「 – Palaniraja 2012-03-19 13:43:54

+0

03-19 19:13:19.553:I/System.out(2010):android.util.AndroidRuntimeException:從Activity上下文外部調用startActivity()需要FLAG_ACTIVITY_NEW_TASK標誌。這真的是你想要的嗎? – Palaniraja 2012-03-19 13:47:35

+0

我有這個例外..如何解決它 – Palaniraja 2012-03-19 14:22:05

回答

1

它的正常工作。首先爲您的模擬器配置一個電子郵件客戶端。 enter code here

public void onClick(View v) { 

      // TODO Auto-generated method stub 

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

      String aEmailList[] = { "[email protected]" }; 
      //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

試試這個

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); 
      } 
     } 
+0

我有一個例外.. – Palaniraja 2012-03-19 14:32:54