2011-12-27 24 views

答えて

0

カーソルをループしてデータを取得します。これは、contactIDとgroupIDとその他の情報を示すデータブロックを返します。これで、ContactsContract.Groupsを照会し、比較するグループに関するデータを取得します。

あなたはそうのような、次のカーソルにそれを追加することができますよりも、グループ行IDのグループ最初のクエリについての具体的なデータを探しているなら...

Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI 
, null, ContactsContract.Data.MIMETYPE+"=? AND "+ ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID+"=?" 
, new String[]{ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE, rowID } 
, null); 

は愚かな過ちのためにとても残念、ここでコードを書いた

あなたは答えのためにそう...

Cursor c = context.getContentResolver().query(ContactsContract.Groups.CONTENT_URI, new String[]{ContactsContract.Groups._ID}, ContactsContract.Groups.TITLE+"=?","myGroup", null); 
+1

おかげのようなグループIDを見つけることができます。私は上記のクエリを試して、私は正常にc.getString(c.getColumnIndex(Data.DISPLAY_NAME))を使用して、特定のグループの連絡先の名前を得た。しかし、c.getString(c.columnIndex(CommonDataKinds.Phone.NUMBER))を使用して電話番号を取得する際に同じことをしたとき、カーソルは電話番号ではなくグループ行IDを返すように見えました。それは変です... –

+0

それは、電話番号が別のデータブロック/ mimetypeの下に格納されているため、グループと同じMIMEタイプで検索しようとしているようです。あなたは別のクエリを実行し、代わりにPhone.CONTENT_ITEM_TYPE mimetypeを検索する必要があります。または、1つのクエリを実行して、mimetypeが適切かどうかを確認して適切に処理する必要があります。これが混乱しているようであれば、非常に有益なので、このページhttp://developer.android.com/resources/articles/contacts.htmlを本当に読んでください。 – Maurycy

関連する問題