我正在尝试从电话簿导入联系人详细信息到我的应用程序!我可以导入几乎所有的电话联系详细信息(Jellybean,Kitkat,棒棒糖)。但是当我在索尼Experia(kitkat)测试时,光标不包含任何行。可能是什么原因?我试了很多,但没能解决这个问题。这是示例代码,
Cursor phones = null;
phones = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]
{ ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI
},
ContactsContract.CommonDataKinds.Phone.NUMBER, null, null);发布于 2015-11-04 15:53:50
您可以使用null作为query()的第三个参数。
您发布的代码实际上可以导致从结果中排除行,这取决于数字的存储方式。将WHERE (data1)添加到查询中,其中data1是存储电话号码的文本列。关于表达式的文档的布尔表达式部分解释了如何在此上下文中计算文本值。
您可以在SQLite外壳中验证这一点,如下所示:
SQLite version 3.8.11.1 2015-07-29 20:00:57
Enter ".help" for usage hints.
sqlite> select 'PASS' where ('8005551212');
PASS
sqlite> select 'PASS' where ('800 555 1212'); -- easier to see number
PASS
sqlite> select 'PASS' where ('+18005551212'); -- E164 format
PASS
sqlite> select 'PASS' where ('(800) 555 - 1212'); -- US national format
# no resultshttps://stackoverflow.com/questions/33515693
复制相似问题