特定の連絡先の連絡先データを取得する方法を知っています。ただし、すべての連絡先とその詳細の一部を 1 回のクエリで取得する方法が見つかりません。次のコードは、住所を持つすべての連絡先を取得します。
Uri uri = ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI;
String[] projection = new String[] {
StructuredPostal._ID,
StructuredPostal.LOOKUP_KEY,
StructuredPostal.DISPLAY_NAME,
StructuredPostal.STREET,
StructuredPostal.CITY
};
String sortOrder = StructuredPostal.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor c = getContentResolver().query(uri, projection, null, null, sortOrder);
しかし、必要なのは、住所があるかどうかに関係なく、すべての連絡先です。これは ContatsContract API を使用して実行できますか? または、カスタムの外部結合クエリを作成する必要がありますか? 方法に関するヒントはありますか?