android - ContactsContract.Contacts.Entity IllegalArgumentException异常

标签 android android-contacts

我指的是 https://developer.android.com/reference/android/provider/ContactsContract.Contacts.Entity.html#CONTENT_DIRECTORY .我想使用 ContactsContract.Contacts.Entity URI 以获得更好的结果。 APi 级别是 11,我的设备操作系统是 4.0。我正在使用下面的代码。下面是我在日志中遇到的异常。 请建议我可以以何种方式使用 ContactsContract.Contacts.Entity API。

引起:java.lang.IllegalArgumentException: URI: content://com.android.contacts/contacts/entities

Cursor phones=null;
ContentResolver cr = getContentResolver();     
Uri phoneuri = Contacts.CONTENT_URI;
Uri phone_uri =  phoneuri.withAppendedPath(phoneuri,  ContactsContract.Contacts.Entity.CONTENT_DIRECTORY);
phones = cr.query(phone_uri, null, null, null, null);
for(int i=0;i<phones.getCount();i++)
{
    Log.e("int","f_name="+phones.getColumnName(i));
}
phones.close();

最佳答案

使用此代码从 android 获取所有联系人:

ContentResolver cr = getContentResolver();
String[] projection = { ContactsContract.Contacts.DISPLAY_NAME,
                        ContactsContract.Contacts._ID };
Cursor contacts = cr.query(ContactsContract.Contacts.CONTENT_URI,
                                projection, null, null, "UPPER("
                                + ContactsContract.Contacts.DISPLAY_NAME + ") ASC");
startManagingCursor(contacts);

希望对您有所帮助。

关于android - ContactsContract.Contacts.Entity IllegalArgumentException异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12422834/

相关文章:

java - 变量在内部类中访问。需要宣布最终。但我不想宣布最终

android - 使用 greenDao 时出现 NoClassDefFoundError

android - 任何用于在多个硬件设备上测试 Android 应用程序的服务?

java - 自动检查和计算不起作用

android - 联系人列表中有多少个联系人

android - 在 ActivityGroup 中 onActivityResult 不起作用?

java - 通过ListView中的setOnItemSelectedListener获取项目值?

android - ContentProvider(联系人)- 没有这样的列 : metadata_dirty

android - 如何修改android中的最后一次通话记录

android - 使用查询从 Firestore 中高效地检索联系人数据