从Android手机的联系人列表中检索指定号码的组织详细信息和电子邮件详细信息?

曼贾里

我有电话号码。我想从我的电话联系人那里知道那个电话号码的详细信息。对于那个号码,我存储了姓名、组织、电话号码(工作)、电话号码(家庭)、电子邮件(家庭)、电子邮件(工作)、地址。

我可以使用以下代码获取该号码的显示名称和 ID

Uri lookUpUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
            Uri.encode(incoming_number));
    Cursor cursor = getApplicationContext().getContentResolver().query(lookUpUri,null,null,null,null);
if(cursor.getCount() > 0){
        while(cursor.moveToFirst()){
            String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
            String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}}

但我不知道如何检索其他详细信息。

请帮帮我。谢谢你。

大理石

这是一个 2 步过程:

  1. 从电话号码中获取联系人 ID
  2. 从联系人 ID 获取请求的数据类型(电子邮件、电话等)

注意:
* 多个联系人可能具有相同的电话号码,在此示例中,我将只获取返回的第一个联系人 ID,而忽略其余的
* 确保您从ContactsContract导入以下所有类ContactsContract.CommonDataKinds

// Step 1:
Uri lookUpUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(incoming_number));
String[] projection = new String[] { PhoneLookup.CONTACT_ID, PhoneLookup.DISPLAY_NAME }
Cursor cur = getContentResolver().query(lookUpUri,projection,null,null,null);
if (cur.moveToFirst()){
    long id = cur.getLong(0);
    String name = cur.getString(1);
    Log.d(TAG, "found contact: " + id + " - " + name);

    // Step 2:
    String selection = Data.CONTACT_ID + "=" + id + " AND " + Data.MIMETYPE + " IN ('" + Phone.CONTENT_ITEM_TYPE + "', '" + Email.CONTENT_ITEM_TYPE + "', '" + Organization.CONTENT_ITEM_TYPE + "')";
    String projection = new String[] { Data.MIMETYPE, Data.DATA1, Data.DATA2, Data.DATA3 };
    Cursor cur2 = getContentResolver().query(Data.CONTENT_URI, projection, selection, null, null); 
    while (cur2 != null && cur2.moveToNext()) {
        String mime = cur2.getString(0); // email / phone / company
        String data = cur2.getString(1); // the actual info, e.g. +1-212-555-1234
        int type = cur2.getInt(2); // a numeric value representing type: e.g. home / office / personal
        String label = cur2.getString(3); // a custom label in case type is "TYPE_CUSTOM"

        String kind = "unknown";
        String labelStr = "";

        switch (mime) {
            case Phone.CONTENT_ITEM_TYPE: 
                kind = "phone"; 
                labelStr = Phone.getTypeLabel(getResources(), type, label);
                break;
            case Email.CONTENT_ITEM_TYPE: 
                kind = "email";
                labelStr = Email.getTypeLabel(getResources(), type, label);
                break;
            case Organization.CONTENT_ITEM_TYPE: 
                kind = "company";
                labelStr = Organization.getTypeLabel(getResources(), type, label);
                break;
        }
        Log.d(TAG, "got " + kind + " - " + data + " (" + labelStr + ")");
    }
    if (cur2 != null) {
        cur2.close();
    }
} else {
    Log.d(TAG, "contact not found");
}
cur.close();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取联系人详细信息中的电子邮件地址

来自分类Dev

从联系人列表中填充用户详细信息

来自分类Dev

从android中的联系人获取地址详细信息

来自分类Dev

如何在android中启动目录联系人的联系人详细信息活动

来自分类Dev

使用集合选择从联系人ID检索联系人详细信息

来自分类Dev

使用列表框中的联系人详细信息更新文本框

来自分类Dev

使用C#需要当前组织中的所有用户详细信息(姓名,电子邮件,指定,部门)

来自分类Dev

android获取联系人详细信息,例如数字和缩略图

来自分类Dev

iOS联系人详细信息选择

来自分类Dev

使用Python在Excel中打印唯一的姓氏姓氏电话号码电子邮件和地址详细信息列表

来自分类Dev

如何获取远程手机的位置详细信息

来自分类Dev

根据类型将联系人详细信息分组到 SQL 中的单独列中

来自分类Dev

Android:如何向联系人详细信息添加自定义字段/操作

来自分类Dev

使用Swift在iOS中访问联系人详细信息

来自分类Dev

在ios(通讯簿)中禁用联系人详细信息视图

来自分类Dev

验证后发送详细信息到电子邮件

来自分类Dev

通过Amazon SES / SNS检索退回电子邮件的消息详细信息

来自分类Dev

获取双SIM卡Android手机的运营商详细信息

来自分类Dev

从TwitterOAut获取用户详细信息(例如电子邮件,生日和姓名)

来自分类Dev

Slim 和 Monolog 发生错误时如何获取包含日志详细信息的电子邮件

来自分类Dev

沙箱中的电子邮件通知不显示产品详细信息吗?

来自分类Dev

Crashlytics:如何查看崩溃详细信息中的用户名/电子邮件/ ID?

来自分类Dev

提交电子邮件的post commit hook详细信息中数字的含义

来自分类Dev

从WooCommerce处理订单电子邮件通知中删除订单详细信息

来自分类Dev

如何将用户输入的详细信息发送到iOS中的电子邮件?

来自分类Dev

根据数组中存在的电子邮件ID向用户发送晚餐详细信息

来自分类Dev

当我尝试从SMS消息(Android光标)获取联系人或照片详细信息时,总是返回NULL

来自分类Dev

如何在响应式Google Map旁边添加联系人详细信息

来自分类Dev

如何实现联系人详细信息屏幕(如棒棒糖)

Related 相关文章

  1. 1

    如何获取联系人详细信息中的电子邮件地址

  2. 2

    从联系人列表中填充用户详细信息

  3. 3

    从android中的联系人获取地址详细信息

  4. 4

    如何在android中启动目录联系人的联系人详细信息活动

  5. 5

    使用集合选择从联系人ID检索联系人详细信息

  6. 6

    使用列表框中的联系人详细信息更新文本框

  7. 7

    使用C#需要当前组织中的所有用户详细信息(姓名,电子邮件,指定,部门)

  8. 8

    android获取联系人详细信息,例如数字和缩略图

  9. 9

    iOS联系人详细信息选择

  10. 10

    使用Python在Excel中打印唯一的姓氏姓氏电话号码电子邮件和地址详细信息列表

  11. 11

    如何获取远程手机的位置详细信息

  12. 12

    根据类型将联系人详细信息分组到 SQL 中的单独列中

  13. 13

    Android:如何向联系人详细信息添加自定义字段/操作

  14. 14

    使用Swift在iOS中访问联系人详细信息

  15. 15

    在ios(通讯簿)中禁用联系人详细信息视图

  16. 16

    验证后发送详细信息到电子邮件

  17. 17

    通过Amazon SES / SNS检索退回电子邮件的消息详细信息

  18. 18

    获取双SIM卡Android手机的运营商详细信息

  19. 19

    从TwitterOAut获取用户详细信息(例如电子邮件,生日和姓名)

  20. 20

    Slim 和 Monolog 发生错误时如何获取包含日志详细信息的电子邮件

  21. 21

    沙箱中的电子邮件通知不显示产品详细信息吗?

  22. 22

    Crashlytics:如何查看崩溃详细信息中的用户名/电子邮件/ ID?

  23. 23

    提交电子邮件的post commit hook详细信息中数字的含义

  24. 24

    从WooCommerce处理订单电子邮件通知中删除订单详细信息

  25. 25

    如何将用户输入的详细信息发送到iOS中的电子邮件?

  26. 26

    根据数组中存在的电子邮件ID向用户发送晚餐详细信息

  27. 27

    当我尝试从SMS消息(Android光标)获取联系人或照片详细信息时,总是返回NULL

  28. 28

    如何在响应式Google Map旁边添加联系人详细信息

  29. 29

    如何实现联系人详细信息屏幕(如棒棒糖)

热门标签

归档