已删除已删除已删除已删除
让我们回顾一下 ContactsContract DB 的组织方式:
还有伪表,例如您在代码中查询的
ContactsContract.CommonDataKinds.Phone
,它基本上查询数据表,但具有特定的 MIMETYPE 值,例如 Phone.CONTENT_ITEM_TYPE
。
在您的代码中,您正在查询 CommonDataKinds.Phone.CONTENT_URI,这意味着您正在询问数据库中的所有不同电话号码。 因此,如果单个联系人有 3 个电话号码,您将获得该联系人的 3 行(每行都有不同的电话号码)。
但是查看您的输出,似乎每个联系人在数据库中都有一个电话号码,但看起来联系人本身是重复的。 例如,
Amber Altingle
的联系人 ID 为 3 和 11,这意味着您有两个名为 Amber Altingle
的独立联系人。
这不是查询代码中的重复,但可能是联系人创建代码中的重复。