2012-09-11 63 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 :")); 
相關問題