gpt4 book ai didi

Android:如何启动电子邮件联系人?

转载 作者:搜寻专家 更新时间:2023-11-01 09:14:02 25 4
gpt4 key购买 nike

此 Intent 打开联系人,其中包含仅包含地址信息的条目:

Intent getContactIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI);

现在我尝试使用此模式来过滤包含电子邮件的联系人:

Intent getContactIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Email.CONTENT_URI);

但这除外(没有 action_pick 等 Intent )

我怎样才能做到这一点?

最佳答案

目前您不能使用默认的联系人应用程序:默认的联系人应用程序会注册此 Intent 过滤器(请参阅 https://android.googlesource.com/platform/packages/apps/Contacts/+/master/AndroidManifest.xml#165 中的第 165 行):

<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/contact" />
<data android:mimeType="vnd.android.cursor.dir/person" />
<data android:mimeType="vnd.android.cursor.dir/phone_v2" />
<data android:mimeType="vnd.android.cursor.dir/phone" />
<data android:mimeType="vnd.android.cursor.dir/postal-address_v2" />
<data android:mimeType="vnd.android.cursor.dir/postal-address" />
</intent-filter>

因此它能够响应邮政地址ACTION_PICK intents,但不能响应电子邮件地址ACTION_PICK intents。

如果您想选择电子邮件地址,您需要创建自己的 Activity,它从 Contacts 提供程序获取 Cursor,该提供程序仅显示具有电子邮件地址的用户,并在 ListView 中显示该地址供用户选择。

关于Android:如何启动电子邮件联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5987929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com