在查看Google通讯录上的联系人群组或我的HTC Legend手机的人物应用程序时,我可以获得群组名称,例如:朋友,家人,VIP,收藏等...
但是在我的应用程序中,我得到了很多错的名字,比如
“家庭”成为“系统组:家庭”
“朋友”成了“系统组:朋友”
“收藏”成为“收藏_5656100000000_3245664334564 ”
我使用以下代码来读取这些值:
public Cursor getFromSystem() {
// Get the base URI for the People table in the Contacts content
// provider.
Uri contacts = ContactsContract.Groups.CONTENT_URI;
// Make the query.
ContentResolver cr = ctx.getContentResolver();
// Form an array specifying which columns to return.
String[] projection = new String[] {
ContactsContract.Groups._ID, ContactsContract.Groups.TITLE,
ContactsContract.Groups.NOTES
};
Cursor managedCursor = cr.query(contacts, projection, ContactsContract.Groups.DELETED
+ "=0", null, ContactsContract.Groups.TITLE + " COLLATE LOCALIZED ASC");
return managedCursor;
}
我缺少什么?
答案 0 :(得分:1)
这听起来像个错误。我的一个测试手机有正确/消毒的标题,而另一个有这种类型的错误标题。我要提交here。
我还直接检查了contacts2.db
数据库,发现SYSTEM_ID
列似乎已经过消毒 - 但这可能不适合用于显示目的。