2013-07-19 41 views
0

我需要通過查詢來檢查,如果接觸有照片,但是,棧didn't工作中發現,我所有的解決方案:檢查接觸對Android照片> 2.3.3

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:沒有這樣的列mimetype」

我也試着檢查PHOTO_ID是否爲0,但這絕不會發生。

我該如何做一個查詢過濾聯繫人有/沒有照片?

編輯:

好找到了解決方案的嘗試。它似乎與PHOTO_ID

String hasPhoto = ContactsContract.Contacts.PHOTO_ID + " LIKE '%%'"; 
String hasNoPhoto = ContactsContract.Contacts.PHOTO_ID + " IS NULL"; 

回答

0

爲什麼不只是在數據庫上使用rawQuery,將聯繫人的ID傳遞給方法?

public String withPhoto(int id){ 
SQLiteDatabase database = new SQLiteDatabase(); 
String column = null; 

database.open(); 
Cursor cursor = database.rawQuery("SELECT column FROM table/content_uri WHERE PHOTO_ID IS/IS NOT NULL AND CONTACT_ID = " + id) 
if(!cursor.moveToFirst()){ 
    cursor.moveToFirst(); 
    column = cursor.getString(1) 
    } 
    cursor.close(); 

    return column; 
} 

編輯

我很抱歉,我以爲你有你自己的數據庫。這裏是一個鏈接到ContactsContract類,這對照片信息:

來源:Android開發者

+0

但我認爲這也不會轉回去改變任何東西。用於檢查照片是否可用的「官方」列不存在(已經存在) –

+0

您需要什麼標識符來識別照片?有沒有可以加入的獨立表格? – Phoenix

+0

我有PHOTO_ID,PHOTO_URI,PHOTO_FIELD_ID和PHOTO_THUMBNAIL_URI。我還不熟悉android上的聯繫人數據庫,但是就我而言,與聯繫人本身相同的表中的照片細節 –