【问题标题】:How to get the contact's display name in sms uri?如何在短信 uri 中获取联系人的显示名称?
【发布时间】:2011-05-26 02:32:47
【问题描述】:

我正在尝试从短信 uri 中获取联系人的显示名称。如果此人在我的联系人列表中,我应该获取此人的联系人 ID。但是每次我收到 Null 作为响应时,这意味着该人不在我的联系人列表中。但实际上该人在我的联系人列表中并显示在消息中。那么有没有办法从短信 uri 中获取该人的显示名称?顺便说一句,我使用的是 2.2 模拟器。

【问题讨论】:

    标签: android


    【解决方案1】:
    Uri personUri = Uri.withAppendedPath( ContactsContract.PhoneLookup.CONTENT_FILTER_URI, smsMsg.getOriginatingAddress());  
    
    cur = appContext.getContentResolver().query(personUri, new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null );  
    
    if( cur.moveToFirst() ) {  
                 int nameIndex = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);  
    
                 PersonName = cur.getString(nameIndex); 
    }
    cur.close();
    

    【讨论】:

    • 这很好用,但不是在某些 4.0.3 设备上?如果您遇到类似问题,请告诉我:stackoverflow.com/questions/12065606/…
    • 谢谢。 :) 这是工作。我在 2.2、2.3 和 4.0.3 上对其进行了测试,效果很好。 :)
    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多