【问题标题】:com.android.camera.action.CROP activity not updating its imagecom.android.camera.action.CROP 活动未更新其图像
【发布时间】:2014-08-05 20:22:40
【问题描述】:

我使用 ACTION_PICK 意图从图库中挑选图像,然后使用 com.android.camera.action.CROP 意图打开它,它工作正常。但是当我用另一个图像覆盖该图像文件然后打开 CROP 活动时,它仍然显示以前的图像(覆盖文件之前的图像)。

当我使用 ACTION_VIEW 预览画廊中覆盖的图像时,我也遇到了类似的问题,画廊图像缩略图和预览没有更新。所以我用了

File f=new File(getWorkingDirectory() + File.separator +  "temp.jpg");
tempFile=Uri.fromFile(f);    
Intent mediaScanIntent=new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(tempFile);
parentClass.sendBroadcast(mediaScanIntent);

这解决了画廊的问题(但不是作物活动)。

我的问题是我应该如何告诉裁剪活动图像已更改(完全被新图像覆盖),以便当我再次调用 startActivityForResult() 进行裁剪操作时,它会显示被覆盖的图像。

请帮助我。我被卡住了!

【问题讨论】:

  • com.android.camera.action.CROP 不是官方的 android 意图。不能保证在所有情况下都能正常工作,所以请尝试一些图像裁剪库
  • @IllegalArgument 感谢您的建议,但我仍然想解决这个问题。

标签: android image android-intent crop


【解决方案1】:

com.android.camera.action.CROP 不是官方的 android 意图。画廊和相机等应用程序支持它,但有许多设备不支持此意图。 here。看看@commonsware 的this blog post。我已经回答了使用this SO post 中的库来裁剪图像。

【讨论】:

  • 非常感谢。 simple-image-crop-lib 工作正常。顺便说一句,它使用 MIT 许可证,所以我需要在我使用这个库的任何地方都提到它吗?
猜你喜欢
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
  • 2020-12-04
  • 1970-01-01
  • 2016-09-25
  • 2018-03-18
  • 2017-10-31
  • 1970-01-01
相关资源
最近更新 更多