- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
public static String getContactName(Context context, String id, String address){
if(id==null){
if(address==null){
return null;
}else{
return PhoneNumberUtils.formatNumber(address);
}
}
Cursor cursor = context.getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
null,
null,
null,
null);
if(cursor!=null){
try{
if(cursor.moveToFirst()){
do{
for(int i=0;i<cursor.getColumnCount();++i){
String columnName = cursor.getColumnName(i);
String columnText = cursor.getString(i);
Log.d(columnName, columnText==null ? "null":columnText);
}
Log.d("endline","***************************");
}while(cursor.moveToNext());
}else{
Log.d("cursor", "not greater than 0");
}
}finally{
cursor.close();
}
}
if(address != null){
return PhoneNumberUtils.formatNumber(address);
}
return "just testing shit";
}
所以我的问题是,当我退回所有联系人时,我得到了每个联系人的多份副本,但我不确定为什么,也不知道该怎么办。我在这里在线查看了我的联系人:https://www.google.com/contacts/#contacts
以及从我的手机中删除所有联系人并重新同步到谷歌联系人以确保没有重复。我不明白发生了什么,虽然我可能只是不知何故愚蠢。
这是输出的样子(截断为几个联系人)
第一个:
sort_key: James LaChance
photo_uri: null
status_label: null
status_ts: null
status_res_package: null
name_verified: 0
display_name: James LaChance
last_time_used: null
mimetype: vnd.android.cursor.item/photo
phonebook_label_alt: L
data6: null
version: 3
photo_id: null
data3: null
custom_ringtone: null
times_contacted: 0
account_type_and_data_set: com.google
dirty: 0
data7: null
data15: null
raw_contact_is_user_profile: 0
data_set: null
phonebook_label: J
data10: null
res_package: null
account_type: com.google
data11: null
display_name_alt: LaChance, James
lookup: 3448i1629e6890832873d
phonetic_name: null
last_time_contacted: 0
contact_last_updated_timestamp: 1403954657613
data13: null
in_visible_group: 1
chat_capability: null
data9: null
data_sync1: https://www.google.com/m8/feeds/photos/media/jmsmaupin1%40gmail.com/1629e6890832873d
sort_key_alt: LaChance, James
contact_presence: null
data_version: 0
phonetic_name_style: 0
name_raw_contact_id: 1
raw_contact_id: 1
send_to_voicemail: 0
data4: null
data12: null
contact_status: null
contact_status_label: null
pinned: 2147483647
status_icon: null
status: null
data1: null
phonebook_bucket: 10
data_sync2: null
contact_status_res_package: null
in_default_directory: 1
_id: 1
is_super_primary: 0
data5: null
contact_id: 8
data8: null
is_primary: 0
data_sync4: 0
has_phone_number: 1
display_name_source: 40
photo_file_id: null
data_sync3: null
data14: null
contact_status_ts: null
phonebook_bucket_alt: 12
mode: null
data2: null
group_sourceid: null
starred: 0
photo_thumb_uri: null
times_used: null
contact_status_icon: null
contact_chat_capability: null
sourceid: 1629e6890832873d
第二个:
sort_key: James LaChance
photo_uri: null
status_label: null
status_ts: null
status_res_package: null
name_verified: 0
display_name: James LaChance
last_time_used: null
mimetype: vnd.android.cursor.item/name
phonebook_label_alt: L
data6: null
version: 3
photo_id: null
data3: LaChance
custom_ringtone: null
times_contacted: 0
account_type_and_data_set: com.google
dirty: 0
data7: null
data15: null
raw_contact_is_user_profile: 0
data_set: null
phonebook_label: J
data10: 1
res_package: null
account_type: com.google
data11: 0
display_name_alt: LaChance, James
lookup: 3448i1629e6890832873d
phonetic_name: null
last_time_contacted: 0
contact_last_updated_timestamp: 1403954657613
data13: null
in_visible_group: 1
chat_capability: null
data9: null
data_sync1: null
sort_key_alt: LaChance, James
contact_presence: null
data_version: 0
phonetic_name_style: 0
name_raw_contact_id: 1
raw_contact_id: 1
send_to_voicemail: 0
data4: null
data12: null
contact_status: null
contact_status_label: null
pinned: 2147483647
status_icon: null
status: null
data1: James LaChance
phonebook_bucket: 10
data_sync2: null
contact_status_res_package: null
in_default_directory: 1
_id: 2
is_super_primary: 0
data5: null
contact_id: 8
data8: null
is_primary: 0
data_sync4: 10
has_phone_number: 1
display_name_source: 40
photo_file_id: null
data_sync3: null
data14: null
contact_status_ts: null
phonebook_bucket_alt: 12
mode: null
data2: James
group_sourceid: null
starred: 0
photo_thumb_uri: null
times_used: null
contact_status_icon: null
contact_chat_capability: null
sourceid: 1629e6890832873d
我是个白痴。问完这个问题后,我几乎立即找到了问题的答案。
引用:https://stackoverflow.com/a/3591323/2408279
基本上每个联系人类型都有一个引用 I.E.电子邮件、电话等(如果我没记错的话)
最佳答案
您应该改为查询 ContactsContract.CommonDataKinds.Phone
,CONTENT_URI
表,如果有帮助请告诉我。
正如 pskink 所说,使用 DatabaseUtils.dumpCursor
来记录游标..更简单
关于Android Contacts Content Provider返回同一联系人的多个副本,联系人中没有重复的联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24466538/
不确定我的标题措辞是否正确,但请耐心等待,所有内容都会得到解释... 我们有一组代码不是在这里发明的,它使用进程间通信(IPC 消息传递)。该方案的大致轮廓是这样的: comms.c 包含: stat
你怎么能列出所有的颠覆合并? 例如: Trunk ____9_____14____20___ \ \ \ \______\_____\___
是否有一个集合的标准 Java(1.5+)实现(即无第三方),允许我将多个集合粘合到一个集合中? 这是其工作原理的草图: final SomeCollection x = new SomeCollec
有没有办法让sql查询返回拆分行。我什至不知道怎么问。下面有'index_tag'。 select event.name, tb_ev.start_time, tb_ev.end_time from
我正在尝试使用 postgresql COPY 命令从 CSV 加载一些数据。诀窍是我想在用户标识(包含在 CSV 中)上实现 Multi-Tenancy 。加载 csv 时,是否有一种简单的方法告诉
我正在尝试使用 bash 脚本将文件复制到当前目录。 为了处理需要转义的路径,使用了一个变量,该变量被转义然后提供给 cp 命令。 cp 命令提示: usage: cp [-R [-H | -L |
我正在尝试每 20 毫秒向给定的 x 和 y 坐标添加一次 CAShapelayer。我希望形状在一秒钟内消失(就像示踪剂一样)。我创建的功能有效,形状在正确的位置创建并消失。但是我留下了额外的形状,
我是 Python 新手。我正在尝试创建一个程序来打印我通常每周手动打印的一组文档,但是我遇到了几个问题: 这是代码: import os file_list = os.listdir("C:/Pyt
我有一个大小为 10 的 ArrayList l1。我将 l1 分配给新的列表引用类型 l2。 l1 和 l2 会指向同一个 ArrayList 对象吗?或者是 ArrayList 对象的副本分配给
我这周花了一个自由职业者创建的 Mongo 4.4 PSA 副本来工作。我放弃了,从所有三台服务器上删除了完整的 mongod,然后按照 Mongo doc 从头开始安装。 .唯一的变化是在副本初
设置信息: 我有两个数据中心,每个 DC 中有 5 个节点。 我知道插入到表中的每一行都是根据使用的数据分区方案存储的;生成必要的副本并将它们存储在集群中的其他节点(根据复制策略选择节点)上。给定一行
我对 XSLT 完全陌生,所以请耐心等待。 我有两个 xml 文件,我试图使用 XSLT 将它们连接在一起。我想合并这些文件,以便第二个文件中指定的任何值覆盖第一个文件。例如 firstFile.xm
这里肯定有一个初学者问题,为什么 F# 编译器会制作不必要的 DateTimeOffset 副本,我该如何阻止它?我不记得这是个问题,但也许自从我在 F# 中使用 DateTimeOffset 以来已
我有一个用 C# 编写的 WinForms 应用程序,在将数据从 SQL 数据库导出到模板的工作表之前,它使用以下代码打开 Excel 模板。 Microsoft.Office.Interop.Exc
我从这个 post 得到的 xsl 中有这个函数 用“换行符”替换“cr” 我是这样调用它的: 我正在做文章链接,点击文本“阅读更多”
所以这可能有点难以解释...... 目前我这样做: SomeInterface xyz1 = SomeInterface.method(data); SomeInterfaceCopy xyz2 =
我有一个包含指针 p 的类型 var。我需要在另一个与 var 类型相同的变量 var1 上复制 var(通过在引号中执行 var1 "="var,因为我不知道这是否是正确的方法,请参见下文)。 在我
出于某种原因,我需要同时运行两个 xampp 副本。我在互联网上阅读了很多教程,但如果我需要运行另一个,他们最终会告诉我关闭当前的 xampp。这有可能实现吗? 最佳答案 您可以使用不同的端口同时运行
在aws中,“upload-part-copy”具有字节范围选项。如果我想将两个对象的一部分复制到云中的新对象,我可以使用“upload-part-copy”命令进行复制。 我找不到任何此类方法或机制
我有一个带栏的表 foo foo --- bar 我使用 Postgres 的 Copy 命令 COPY (select * from foo) TO 'complete_file_path' WIT
我是一名优秀的程序员,十分优秀!