Проблема при попытке получить Contracts Group ~ Неизвестный URL-адрес: //com.android.contacts - PullRequest
2 голосов
/ 26 февраля 2010

Проблема при попытке получить Группа контрактов

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 ]

1 голос
/ 26 февраля 2010

Да, неверный 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));
...

Jay

1 голос
/ 26 февраля 2010

Вы используете неправильно Uri попробуйте ContactsContract.Groups.CONTENT_URI Работа с группами контактов довольно сложна с моей точки зрения, поэтому внимательно прочитайте документацию

...