我使用一个标准的MediaStore.ACTION_VIDEO_CAPTURE Intent调用(例如在开发人员站点上的调用或大量的StackOverflow线程)来记录一些视频。我正在一个(真实的) Nexus 7 (API 21)上测试它,当(native)安卓摄像头应用程序启动时,它可以工作fine...so,只要该设备的显示处于横向方向。如果是肖像画、反照或反景,相机应用程序会在初始化过程中部分停止(“不幸的是,相机已经停止了”),并控制返回到我的应用程序。然而,这款相机应用一旦在景观中初始化,就很乐意重新定位到肖像。如果我使用MediaStore.ACTION_IMAGE_CAPTURE,它将从肖像或风景开始。
我知道我可以把我的应用程序定位到景观中,我知道我可以要求相机在风景中记录,但是如果用户碰巧拿着设备的肖像,在过渡期间屏幕会旋转到垂直方向,因为我的应用程序释放控制到相机应用程序。然后相机应用程序接收控制,而方向是肖像,它不喜欢它,并停止。这个问题并不是因为方向的改变--即使我始终把所有的东西都锁在肖像上,相机应用程序也会在初始化过程中部分取消。
是否有办法避免这种情况发生(同时仍然通过意图使用相机)?
(PS我从这里上注意到,关于定制相机例程:“注意:相机预览不一定要处于景观模式.”然后解释如何做到这一点。这是否意味着“意图”实现做到了?)
发布于 2015-03-26 14:43:03
是否有办法避免这种情况发生(同时仍然通过意图使用相机)?
不是的。
更具体地说,有成千上万种可能的相机应用程序--预装或由用户安装--它们都可以声称支持ACTION_VIDEO_CAPTURE,而且它们中的任何一个都可以像这个一样有bug。没有EXTRA_PLEASE_AVOID_BUGS可以传递给Intent来更改它(尽管这样做很酷.)。
https://stackoverflow.com/questions/29280080
复制相似问题