我有一个Android应用程序,我通过自定义ListView
将办公室位置加载到Adapter
。
在每个ListViewItem
内,我有ImageView
这是一个电子邮件图标,我已将自定义OnClickListener
绑定到ImageView
,这应允许用户创建电子邮件发送到办公地点。
我希望用户能够从他们设备上的电子邮件应用程序中进行选择,以便我在我的自定义Intent.CreateChooser()
中使用OnClickListener
,如下所示:
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()));
我目前正在使用Android 2.3的HTC Desire HD进行测试,即使我的设备上有Gmail和默认邮件,当我点击电子邮件图标时,它也没有显示选择器,但它只是加载直接进入Gmail。
为什么选择器没有显示?
答案 0 :(得分: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..."));