我使用标准MediaStore.ACTION_VIDEO_CAPTURE
Intent
调用(例如开发人员网站上的调用或许多StackOverflow线程)来录制一些视频。我在(真实的)Nexus 7(API 21)上对其进行测试,只要设备的显示处于横向方向,它就能正常工作...... 当(原生)Android相机应用启动时。如果是纵向,反向纵向或反向横向,相机应用程序会在初始化过程中停止("不幸的是,相机已经停止")并且控件返回到我的应用程序。然而,一旦在风景中初始化,相机应用程序很乐意重新定向到肖像。如果我使用MediaStore.ACTION_IMAGE_CAPTURE
,它将以纵向或横向开始。
我知道我可以将我的应用程序的方向修复为横向,并且我知道我可以请求相机以横向方式进行录制,但如果用户碰巧正在以纵向方式握住设备,则屏幕会在期间旋转到垂直转换,因为我的应用程序释放控制到相机应用程序。然后相机应用程序接收控制,而方向是纵向的,它不喜欢它并停止。由于方向的更改,问题是不 - 即使我始终将所有内容锁定为纵向,相机应用程序也会在其初始化例程中取消部分。
有没有办法避免这种情况发生(同时仍然通过Intent使用相机)?
(PS我从here注意到,关于定制的相机例程:"注意:相机预览不必处于横向模式......"并继续解释如何实现这一点。这是否意味着" Intent"实现了?)
答案 0 :(得分:1)
有没有办法避免这种情况发生(同时仍然通过Intent使用相机)?
没有
更具体地说,有数以千计可能的相机应用程序 - 由用户预先加载或安装 - 可能声称支持ACTION_VIDEO_CAPTURE
,并且其中任何一个都可能有这样的错误。没有EXTRA_PLEASE_AVOID_BUGS
您可以通过Intent
来更改(虽然 真的很酷......)。