1

我花了最后一天左右的时间试图自己做这件事,但没有任何运气。

我想知道是否是我的特定设备(galaxy nexus - 已编辑的图像保存在 /mnt/sdcard/Edited 中)导致有关此主题的有限建议无法按预期工作。

我的问题是,当我开始打算使用第三方应用程序(照相馆)编辑图像时,我可以编辑图像,但从未真正将其取回。

无论我尝试什么调用代码,我都不会收到对 onActivityResponse 的回调(我已经浏览了每个包含 ACTION_EDIT 的谷歌结果,看看其他人是如何做到的),

所以没有回应意味着我不得不尝试另一种方式 - 根据某处的帖子,我发现如果您在清单中指定一些类别和数据标签,我发现编辑后的图像应该保存在您发送到应用程序的图像上,我实施并花费了一些几个小时但无济于事 - 当调用 onResume 时,我发送的图像始终是相同的图像。

所以我一直在尝试另一种方法,监听文件系统的变化使用..

getContentResolver().registerContentObserver(Media.EXTERNAL_CONTENT_URI, true, myObserver);

我得到了各种各样的结果 - 当图像被编辑和保存时,我的 onChanged 方法被调用,我可以接收一个 id 但我永远无法构建正确的 uri 来获取文件路径

 String columns[] = new String[]{ Media._ID, Media.DATA, Media.DISPLAY_NAME,      Media.MIME_TYPE, Media.SIZE, Media.MINI_THUMB_MAGIC };


  Uri image     = ContentUris.withAppendedId(Media.EXTERNAL_CONTENT_URI, latestId);

  Cursor cursor = application.managedQuery(image, columns, null, null, null);

但是,我总是在 while 循环中使用上面的代码行得到一个 NULLPOINTEREXCEPTION(这是基于某种与 AlbumUploader 相关的善意的)。

我希望有人可以告诉我我哪里出错了,或者解决方法来为这种情况获取正确的文件路径。

问候,感谢阅读。

4

0 回答 0