Ali*_*aka 8 email android contacts android-intent
我想从联系人列表中选择一封电子邮件.选择联系人不够好,因为联系人可能有几封电子邮件.
使用API演示,我设法选择联系人,电话号码甚至地址.例:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
// OR
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
// OR
intent.setType(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
Run Code Online (Sandbox Code Playgroud)
但是,当试图选择一封电子邮件时
intent.setType(ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
Run Code Online (Sandbox Code Playgroud)
我得到的活动没有发现异常.
有关如何从所有联系人的电子邮件中选择电子邮件的任何想法?
谢谢.阿利克.
更新(2011/05/02):找到另一种从联系人中挑选东西的方法,但仍未将电子邮件选择器注册到意图中.
工作:
new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI);
Run Code Online (Sandbox Code Playgroud)
不工作:
new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Email.CONTENT_URI);
Run Code Online (Sandbox Code Playgroud)
我没有专门尝试使用选择器,但我们循环遍历联系人缓存并查找 MIME 类型为 的所有联系人详细信息Email.CONTENT_ITEM_TYPE。
然后我们构建一个对话框,让用户选择他们想要使用的电子邮件地址,并将该电子邮件地址传递给用户的电子邮件应用程序,例如
final Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_STREAM, "Some text");
Builder builder = new Builder(this);
builder.setTitle("Choose email");
builder.setItems(emailAddressesArray, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
String address = emailAddresses.get(emailAddressesArray[which]);
sLog.user("User selected e-mail: " + address);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{address});
startExternalActivity(emailIntent);
}
});
builder.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5281 次 |
| 最近记录: |