我正在尝试使用通过intent(MediaStore.ACTION_IMAGE_CAPTURE)启动的默认设备相机应用程序拍摄多张照片。使用我正在测试的设备,相机启动,拍照,要求确认,然后返回到我处理结果的活动。
我考虑过使用广播接收器回调或内容观察者;但是,在用户完成之前,我找不到启动相机并保持活动状态的方法。如果可能的话,我希望避免开发自定义相机应用程序。
我必须这样做的原因是因为用户通常需要连续拍摄多张照片,而在某些设备上,相机启动时间超过5秒,使用该软件的用户连续拍摄10 - 30张照片;不仅如此,他们还需要控制各种相机参数。
一旦用户退出相机应用程序,是否有办法启动相机意图并仅返回我的活动?
答案 0 :(得分:19)
我通过SDK文档发现,设备相机有一个替代的意图动作,它以静止图像模式启动相机,并且在用户完成活动之前不会退出:
Intent intent = new Intent(
MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
this.startActivity(intent);
与ContentObserver结合,这正是我需要完成的。