选择一张图片重命名--将图片设置为联系人图标--再次使用同一张图片重命名之后--设为另一联系人头像观察时,提示无法加载此图片
Root Cause:当用户去重命名时,gallery收不到data chang的通知,所以无法更新LocalImage的filePath,导致无法加载图片。
Solution:CropImage在加载图片前,首先会去query图片的filepath并更新。
具体code:
alps\packages\apps\Gallery2\src\com\android\gallery3d\app\CropImage.java的getMediaItemFromIntentData()方法中:
约1404行:
try{
c = getContentResolver().query(uri,
new String[] {Images.ImageColumns.ORIENTATION, Images.ImageColumns.DATA},
null, null, null);
if(c != null && c.moveToFirst()){
((LocalImage) item).rotation = c.getInt(0);
((LocalImage) item).filePath = c.getString(1);
}
}...
时间: 2024-11-06 09:38:19