2012-02-08 4 views
1

Я хочу открыть собственный редактор контактов из моего собственного приложения с помощью намерений с данными, которые я поставил с намерением (используя функции putExtra). Я использую ContactsContract.Intents.Insert для передачи данных в Native-контакты. Я могу передать все контактные данные (адрес, имя, номер и т. Д.), Но не контактную информацию.android - создать новый контакт с фотографией из собственного приложения

Как это сделать (передача либо фактических байтов данных, либо url)? Благодаря

ответ

0

Вот фрагмент, вы можете попробовать:

public static void setContactPhoto(ContentResolver c, 
            byte[] bytes, 
            long personId) { 
    ContentValues values = new ContentValues(); 
    int photoRow = -1; 
    String where = ContactsContract.Data.RAW_CONTACT_ID + " = " 
    + personId + " AND " + ContactsContract.Data.MIMETYPE 
    + "=='" + ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE + "'"; 
    Cursor cursor = c.query(ContactsContract.Data.CONTENT_URI, 
          null, where, 
          null, null); 
    int idIdx = cursor.getColumnIndexOrThrow(ContactsContract.Data._ID); 
    if (cursor.moveToFirst()) { 
    photoRow = cursor.getInt(idIdx); 
    } 
    cursor.close(); 

    values.put(ContactsContract.Data.RAW_CONTACT_ID, personId); 
    values.put(ContactsContract.Data.IS_SUPER_PRIMARY, 1); 
    values.put(ContactsContract.CommonDataKinds.Photo.PHOTO, bytes); 
    values.put(ContactsContract.Data.MIMETYPE, 
      ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE); 

    if (photoRow >= 0) { 
    c.update(ContactsContract.Data.CONTENT_URI, values, 
      ContactsContract.Data._ID + " = " + photoRow, null); 
    } else { 
    c.insert(ContactsContract.Data.CONTENT_URI, values); 
    } 
} 

Вы можете прочитать все о деталях из source этой статьи.

+0

Спасибо, но это не отвечает на мой вопрос. Я не хочу вставлять контакт в Native DB, я хочу открыть собственные контакты в режиме просмотра или редактирования, отправив намерение с соответствующими данными, включая фотографию. –

Смежные вопросы