連絡先に写真があるが、スタックで見つかったすべてのソリューションがうまくいかなかった場合は、クエリで確認する必要があります。
Cursor cur = this.ctx.getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
null, ContactsContract.Data.MIMETYPE + "='"
+ ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE + "'", null,
null);
「database.sqlite.SQLiteException: no such column mimetype」のため、これは機能しません。
PHOTO_ID が 0 かどうかも確認しようとしましたが、これは決して起こりません。
写真の有無にかかわらず連絡先をフィルタリングするクエリを実行するにはどうすればよいですか?
編集:
さて、試してみて解決策を見つけました。PHOTO_IDで動作するようです
String hasPhoto = ContactsContract.Contacts.PHOTO_ID + " LIKE '%%'";
String hasNoPhoto = ContactsContract.Contacts.PHOTO_ID + " IS NULL";