2012-09-11 62 views
0

我想直接打开android默认电子邮件客户端。除了“Samsung Galaxy S”之外,它在大多数设备上都可以使用。其实问题是我在编码时设置了电子邮件的主题和正文,这在大部分设备中都有效,但它在三星银河系中不受影响。这里打开一个空的撰写邮件。我能做些什么来使它工作?android - 电子邮件不能在三星银河工作s

代码

btn.setOnClickListener(new OnClickListener(){ 

    @Override 
    public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
      emailIntent.setType("text/html"); 
      List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(emailIntent, 0); 
      if (!resInfo.isEmpty()) 
      { 
       for (ResolveInfo info : resInfo) 
       { 
        System.out.println("info.activityInfo.packageName:"+info.activityInfo.packageName.toLowerCase()); 
        System.out.println("info.activityInfo.name:"+info.activityInfo.name.toLowerCase()); 
        if (info.activityInfo.packageName.toLowerCase().contains("mail") || info.activityInfo.name.toLowerCase().contains("mail")) 
        { 
         emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Allergy Journal");  
         emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "My Allergy Journal Body");         
         emailIntent.setPackage(info.activityInfo.packageName); 
         startActivity(Intent.createChooser(emailIntent, "Email:")); 
        } 
       } 
      } 

    }}); 
+0

,同时设置主题和正文的邮件,您已检查的两个条件:的packageName和名称,而它里面要设置封装包的名称。概率可能在那里,它必须是令人满意的名称条件,但setPackage行它不会显示您的主题和正文。 – AkashG

+0

我粘贴了你的代码。和它的工作完全正常..得到任何错误? – Dhrupal

+0

它工作正常,但它不是在三星Galaxy S工作。我没有那个设备,我发送apk文件给我的朋友,他告诉那个问题。你现在有三星Galaxy S的设备吗? – naresh

回答

0

试试这个代码

Intent email=new Intent(Intent.ACTION_SEND); 
    email.putExtra(Intent.EXTRA_SUBJECT, "YOUR SUBJECT"); 
    email.putExtra(Intent.EXTRA_TEXT,"YOUR MESSAGE BODY"); 
    email.setType("message/rfc822"); 
    a.startActivity(Intent.createChooser(email, "Choose an Email Client :")); 
相关问题