2013-04-04 80 views
3

我有一個Android應用程序,我通過自定義Adapter將辦公室位置加載到ListViewAndroid Intent.createChooser不工作Intent.ACTION_SEND

裏面每個ListViewItem我有一個ImageView這是一個郵件圖標,我已綁定的自定義OnClickListenerImageView應該允許用戶創建一個電子郵件發送給一個辦公地點。

我希望用戶能夠從哪些是他們的設備上的電子郵件應用程序中選擇,所以我已經在我的自定義OnClickListener使用Intent.CreateChooser()像這樣:

private class EmailOnClickListener implements OnClickListener { 
     private Context context; 
     private String email; 

     public EmailOnClickListener(Context context, String email) { 
      this.context = context; 
      this.email = email; 
     } 

     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(Intent.ACTION_SEND); 
      intent.setType("message/rfc822"); 
      intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {email}); 
      intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test Subject"); 

      context.startActivity(Intent.createChooser(intent, "Send mail...")); 
     } 
    } 

我已經通過結合我的自定義OnClickListener我定製Adapter如下:

ImageView email = (ImageView) v.findViewById(R.id.btnEmail); 
    email.setOnClickListener(new EmailOnClickListener(context, contact.getEmail())); 

我目前在HTC Desire HD的是Android的測試此2.3,即使我有Gmail,以及我的設備上默認的郵件,當我點擊時間他電子郵件圖標,它沒有顯示我選擇器,但它只是直接進入Gmail。

爲什麼選擇器不顯示?

回答

2

我找到了答案,從這個問題(去找由doreamon答案)Send Email Intent

爲快速參考我在onClick方法改變了代碼如下:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", email, null)); 
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test Subject"); 

context.startActivity(Intent.createChooser(intent, "Send mail..."));