目前,我的应用程序正在运行一项服务,该服务每小时触发一次。这会提取自上次打开以来拍摄的所有照片,然后上传到服务器。这是使用系统内容提供程序完成的
现在我想做的是发送一个打开相机应用程序的意图,我正在这样做......
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。会不会太难了?