尝试获取合同组时出现问题〜未知URL内容://com.android.contacts

时间:2010-02-26 16:54:58

标签: android android-sdk-2.1

尝试获取合同组

时出现问题
Uri contacts = ContactsContract.AUTHORITY_URI;
  //Log.v("23",contacts.toString());
  // Make the query.
  Cursor managedCursor = act.managedQuery(contacts, projection, // Which
    // columns
    // to
    // return
    null, // Which rows to return (all rows)
    null // Selection arguments (none)
    // Put the results in ascending order by name
    , ContactsContract.Groups.TITLE + " ASC"
    );

有:

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

我明白了 ERROR/DatabaseUtils(198): java.lang.IllegalArgumentException: Unknown URL content://com.android.contacts

2 个答案:

答案 0 :(得分:1)

您使用错误的Uri尝试ContactsContract.Groups.CONTENT_URI从我的观点来看,与联系人群组合作非常棘手,因此请仔细阅读文档

答案 1 :(得分:1)

是的,错误的URI。以下是按名称查找的示例(来自http://www.androidref.com/#MapLocation):

//
//  Find contact based on name.
//
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
    "DISPLAY_NAME = '" + NAME + "'", null, null);
if (cursor.moveToFirst()) {
    String contactId =
        cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
...