Android - 更改屏幕方向并将其应用于整个系统

3

setRequestedOrientation可以用于更改活动中的屏幕方向。该效果仅适用于该活动。退出活动后,屏幕方向将被恢复。 有没有办法更改屏幕方向并应用于Android系统,以便启动器和其他APK会显示当前屏幕方向。 (设备没有任何传感器可向Android传感器服务提供方向信息。)

谢谢。


1
如果这是可能的话,我会毫不犹豫地买一个iPhone。 - Alex Lockwood
@hamer:你找到解决方案了吗?我也想要那个功能。 - Basher51
2个回答

0
不,没有办法做到这一点。你的应用程序不能改变系统的 Launcher 应用程序或任何其他第三方应用程序的显示方式。让开发者有这样的能力将破坏用户体验...而且一些应用程序甚至不支持两种方向模式,因此这也没有太多意义。抱歉。

我在一个用中文写的博客上找到了一个解决方案(http://fecbob.pixnet.net/blog/post/35396114-android%E4%B8%AD%E9%80%9A%E9%81%8E%E6%8C%89%E9%8D%B5%E6%97%8B%E8%BD%89%E8%9E%A2%E5%B9%95)。我们可以修改Android框架的PhoneWindowManager和WindowManagerService来通过按键事件触发屏幕旋转。但是,正如你所说,并没有其他第三方应用程序支持屏幕旋转。 - hamer
@hamer 哦...我没有意识到更改源代码是被允许的。你只想让它在你的设备上工作吗?你需要创建一个定制版本,这样其他设备就无法识别它了。 - Alex Lockwood

0

抱歉,没有可用的方法可以更改Android系统的方向。

如果您真的想要更改,您将不得不对Android源代码进行更改,其中您还需要更改内核。

您将需要在框架中创建一个方法,该方法将更改您所需的方向值。此方法将更改方向值(我猜内核使用sys文件系统处理方向值)。一旦在文件中更改了值,内核将自动更改该设备的方向。


我认为这是可能的。一个名为“Set Orientation”的应用程序(play.google.com/store/apps/...)正是如此。它预设了Android设备的屏幕方向。因此,如果用户选择“横向”模式,则所有应用程序都将以横向模式打开。 - Basher51

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接