1

目前,我的应用程序正在运行一项服务,该服务每小时触发一次。这会提取自上次打开以来拍摄的所有照片,然后上传到服务器。这是使用系统内容提供程序完成的

现在我想做的是发送一个打开相机应用程序的意图,我正在这样做......

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);

我想要发生的是当焦点回到我的应用程序时(在用户拍照后),我可以打开服务并处理照片。

但是,似乎从未将照片添加到内容提供者中。服务打开它,光标的计数为 0。我能做些什么让系统将照片添加到内容提供商,还是我需要自己处理?

编辑

所以我认为没有任何意图可以用来让它保存到系统中。所以看起来我的选择是

contentResolver.insert()

或者

MediaStore.Images.Mediaa.insertImage()

这两种方法有什么区别?

编辑

所以我开始认为谷歌对这个功能的实现一无所知。拿这个链接

http://developer.android.com/guide/topics/media/camera.html#intent-receive

你传入 Uri,当它返回到你的应用程序时,它会给你你给它的 uri。如果您没有指定 uri,它不会返回一个。那有什么意义呢?为什么我想要我已经拥有的数据?当然,反过来说也是有意义的。甚至只是为您提供所需的基本数据,例如名称、路径、mimetype。会不会太难了?

4

1 回答 1

0

通知 MediaScanner,扫描完成后,您的照片将被添加到系统数据库中。

于 2012-11-06T14:47:36.940 回答