如何在Android中全局锁定屏幕方向?

时间:2012-09-29 20:02:36

标签: android android-layout android-service

我正在开发一个程序,将手机连接到不旋转的屏幕。我找到了一种注入触摸和关键事件的方法。我唯一的问题是让它留在风景中。我发现我可以在设置中设置USER_ROTATION和ACCELEROMETER_ROTATION。但是,如果程序请求进入纵向模式,它会卡住并且永远不会旋转。假设用户具有root访问权限,我怎样才能全局强制所有内容进入格局?

4 个答案:

答案 0 :(得分:3)

您可以强制仅使用清单

在横向上设置活动
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="....">

这应该可行,如果显示/隐藏硬件键盘,您可能需要覆盖可能发生的任何方向

答案 1 :(得分:1)

我在这个项目的源代码中找到了答案。 http://code.google.com/p/perapp可以通过读取系统日志并创建允许在其他所有内容上显示的系统级对话框来完成。您可以隐藏它们并让它们强制屏幕进入横向。

答案 2 :(得分:0)

我不确定如何实现这一目标,但请记住,操作系统的某些部分并不是要旋转,也不能旋转(即主屏幕永远不会旋转)。您可能不得不求助于拍摄屏幕显示的图像,然后将其旋转90度,然后将其显示在目标屏幕上。

答案 3 :(得分:0)

我认为您使用的ROM必须具有此选项,在某些三星设备中,可以选择锁定屏幕方向(但其操作系统选项)。