好的,我正在尝试复制创建联系人快捷方式时放置在主屏幕上的快捷方式,如下所示:
我有一个工作的QuickContactBadge,点击后会显示QuickContact工具栏。但是,我有两件事我遇到了麻烦。
一个是图片。我尝试使用this question中的代码(我通过添加参数来更改它以传递联系人ID)。然后我将图像分配给我的QuickContactBadge:
bdg.setImageURI(getPhotoUri(cid));
它绝对可以获得图片,但它完全是错误的图片。如下图所示:
正如您所看到的,它为Domino返回的图像显然不是Domino的徽标。
我正在通过此代码将联系人ID传递给该函数:
public static String[] ContactsProjection = new String[] {
Contacts._ID,
Contacts.LOOKUP_KEY,
Contacts.DISPLAY_NAME
};
public static Cursor getContacts() {
ContentResolver cr = CoreLib.ContentResolver();
Cursor contacts = cr.query(
ContactsContract.Data.CONTENT_URI,
ContactsProjection,
null, null,
Contacts.TIMES_CONTACTED + " DESC"
);
return contacts;
}
我认为应该为每条记录返回正确的ID。是
接下来,如何在缩略图显示时缩小或缩小缩略图?
我有点失望地看到QuickContactBadge实际上没有复制QuickContact快捷方式的整体外观,...但只是作为QuickContact卡的调用目标。是否有任何内置的方法可以轻松复制整个,调用,图像,文本和所有内容中的联系人快捷方式,而无需从头开始重现整个事情?
答案 0 :(得分:0)
Contacts._ID
和ContactsContract.Data.CONTACT_ID
并不相同。
ContactsContract.Data.CONTACT_ID
是传递照片的正确方法。使用它,现在一切都是金色的。