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

选择一张图片重命名--将图片设置为联系人图标--再次使用同一张图片重命名之后--设为另一联系人头像观察时,提示无法加载此图片

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);
     }
}...

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。