作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我得到了一个光标,用于检索应用程序中具有街道地址的所有联系人。然后将此游标传递到适配器中。到目前为止,一切都很好。除了我还得到了一堆只有州/国家信息的低值(value)联系人(主要来自 Skype)。有没有简单的方法来修改 URI 以跳过这些?
public Cursor getDirectoryList (CharSequence constraint) {
String[] selectionArguments = { "%"+constraint.toString()+"%" };
String selection = ContactsContract.CommonDataKinds.StructuredPostal.DISPLAY_NAME + " like ?";
Uri uri = ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI;
String sortOrder = ContactsContract.CommonDataKinds.StructuredPostal.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor cr = getContentResolver().query(uri, null, selection, selectionArguments, sortOrder);
return cr;
}
最佳答案
您可以修改 selection
和/或 selectionArgs
以指定更多条件,例如确保 Street 字段不为空:
String selection =
ContactsContract.CommonDataKinds.StructuredPostal.DISPLAY_NAME + " like ? AND " +
ContactsContract.CommonDataKinds.StructuredPostal.STREET + " IS NOT NULL";
这只是 SQL,因此请从 ContactsContract.CommonDataKinds.StructuredPostal
中指定尽可能多的字段,以及您想要的任何条件。
关于Android - 获取包含街道地址的联系人列表,但没有像 Skype 这样地址只有城市和州的低值(value)地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903989/
我是一名优秀的程序员,十分优秀!