【发布时间】:2010-08-14 16:08:45
【问题描述】:
几周前我问了完全相同的问题here。起初,我认为答案解决了我的问题,但事实并非如此。我只是没有注意到我无法用这些答案解决我的问题。
但是,我现在得到的是:
final Cursor phoneCursor = context.getContentResolver().query(Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode("'" + incomingNumber + "'")), null, null, null, null);
phoneCursor.moveToFirst();
String lookupString = phoneCursor.getString(phoneCursor.getColumnIndex(PhoneLookup.LOOKUP_KEY));
final Cursor dataCursor = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, ContactsContract.Data.LOOKUP_KEY + "=" + "'" + lookupString + "'", null, null);
dataCursor.moveToFirst();
Log.e("smn", "display_name: " + dataCursor.getString(dataCursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME)));
Log.e("smn", "nickname: " + dataCursor.getString(dataCursor.getColumnIndex(ContactsContract.Data.DATA1)));
输出如下所示:
08-14 17:41:02.106: ERROR/smn(20146): display_name: Tom Tasche
08-14 17:41:02.106: ERROR/smn(20146): nickname: null
This answer 告诉我昵称保存在数据表中,但是虽然我正在查询数据表,但我没有检索保存在我的通讯录中的联系人别名。
我已经尝试过另一种方法:我为此联系人插入了一个新别名。这很好用。因此,昵称似乎有效。 此外,我再次打印出保存在数据表中的每个字段,但没有成功。
有什么想法吗?也许我做错了什么,但目前我不明白问题出在哪里......
感谢您的帮助
汤姆
【问题讨论】:
-
您的手机是否使用 Sense UI 运行?