如果我正在为联系人的字段分配值,例如昵称;
.withValue(Nickname.NAME, "Mr. Incredible")
存储在DATA1列中
然而,如果我使用SipAddress.SIP_ADDRESS()添加SIP地址,它的值也会分配给列DATA1。我如何区分这两者?我对如何访问特定于联系人的字段感到困惑,我在Android参考资料中找不到解释。
我特意使用
SimpleCursorAdapter(getActivity(),
R.layout.contact_list, null, new String[] {
SipAddress.DISPLAY_NAME, SipAddress.SIP_ADDRESS, Nickname.NAME},
new int[] {
R.id.text1, R.id.text2, R.id.text3}, 0);
答案 0 :(得分:1)
请尝试,
try {
Cursor cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI,
new String[]{ContactsContract.Data.DISPLAY_NAME},
ContactsContract.CommonDataKinds.Nickname.DATA1 + "=" + text, null, null);
cursor.moveToFirst();
String Nickname = cursor.getString(0);
}
catch (Exception e) {
}
答案 1 :(得分:0)
是的,它使用字符串ContactsContract.DataColumns.DATA1
保存在SIP_ADDRESS
中。这可以帮助你ContactsContract.CommonDataKinds.SipAddress
快乐的编码!