如何为短信对话取得联络人的名字吗? [英] How to get contact name for sms conversations?

查看:191
本文介绍了如何为短信对话取得联络人的名字吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我检索最后的短信清单/使用下面的查询MMS对话:

I'm retrieving list of last sms/mms conversations using following query:

String[] columns={"type", "address", "date", "body", "conversation_id"};
Cursor cursor=context.getContentResolver().query(Uri.parse("content://mms-sms/conversations"), columns,  null, null, "date desc");

谁能告诉我如何在同一个查询得到同样的联系人姓名?具体字段 ContactsContract.PhoneLookup.DISPLAY_NAME

我的意思是,我知道如何获得单独的查询这些领域,但我需要得到它在相同的查询作为对话。

I mean, I understand how to get those field in separate query, but I need to get it in the same query as for conversations.

推荐答案

试试这个:

Log.i(TAG,"load_contact for "+Phone_numb);
    Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(Phone_numb));
    String name = "?";

    ContentResolver contentResolver = getContentResolver();
    Cursor contactLookup = contentResolver.query(uri, new String[] {BaseColumns._ID,
            ContactsContract.PhoneLookup.DISPLAY_NAME }, null, null, null);

    try {
        if (contactLookup != null && contactLookup.getCount() > 0) {
            contactLookup.moveToNext();
            name = contactLookup.getString(contactLookup.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
        }
        else
        {
            return Phone_numb;
        }
    } finally {
        if (contactLookup != null) {
            contactLookup.close();
        }
    }

这篇关于如何为短信对话取得联络人的名字吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆