android 图片重命名后设置为联系人提示无法加载此图片

来源:互联网 发布:知柏地黄丸补肾吗 编辑:程序博客网 时间:2024/05/22 06:11
选择一张图片重命名--将图片设置为联系人图标--再次使用同一张图片重命名之后--设为另一联系人头像观察时,提示无法加载此图片

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);
     }
}...
1 0
原创粉丝点击