我正在开发一个应用程序,该应用程序将根据用户设置将图像添加到联系人中,或者如果已经存在图片,则可能会覆盖图片。
我到了需要将缓存图像实际写入联系人的部分,但不确定如何执行此操作?
我可以简单地覆盖图像PHOTO_URI
,还是我必须调用一些方法来更新图片?
cacheDir = Home.this.getCacheDir() + File.separator + "download"
+ File.separator;
contactId[contactList.getPosition()] = contactList
.getString(contactList
.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID));
contactPicture[contactList.getPosition()] = contactList
.getString(contactList
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_URI));
downloadFile = new File(cacheDir
+ contactId[contactList.getPosition()] + ".png");
FileManager.copyFile(downloadFile, new File( //Custom function - just copies
contactPicture[contactList.getPosition()]));
我还没有运行这段代码,因为我不想搞砸我的联系人列表。
这是覆盖联系人图片的正确方法吗?PHOTO_URI
另外,如果图片不存在null
怎么办?如何添加新图像?