1

このコードを使用しています:

protected String getContactInfo() {
         Cursor cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, null, null, null);
         String str = "";
         while (cursor.moveToNext()) {
          str += cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) + ", ";
        }
        cursor.close();
        return str;
}

実行後、このメソッドが返す文字列は、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test1、Test2、Test2、Test2、Test2、Test2、Bob、ボブ、ボブ、ボブ、

電話帳に Test1、Test2、Bob の連絡先が 3 つしかない場合

なぜこれが起こるのでしょうか?

4

1 に答える 1

4

これを試して...

クエリ パラメータを URI に置き換えます...

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

から名前を取得しようとしていてContactsContract.Contacts.CONTENT_URI、 でクエリを実行していますContactsContract.Data.CONTENT_URI

于 2012-06-17T18:55:04.893 に答える