【问题标题】:Android - change screen orientation and the orientation would be applied to whole systemAndroid - 更改屏幕方向,方向将应用于整个系统
【发布时间】:2012-07-25 03:52:26
【问题描述】:

setRequestedOrientation 可用于更改活动中的屏幕方向。该效果将仅应用于活动。退出活动后,屏幕方向将恢复。 有什么方法可以改变屏幕方向并且效果会被应用到 Android 系统,这样启动器和其他 APK 就会以当前的屏幕方向呈现。 (设备没有任何传感器向 Android sensorservice 提供方向信息。)

谢谢。

【问题讨论】:

  • 如果可以的话,我会立刻买一部 iPhone。
  • @hamer:你找到解决方案了吗?甚至我也想拥有那个功能

标签: android screen-orientation


【解决方案1】:

不,没有办法做到这一点。您的应用程序无法更改系统的Launcher 应用程序或任何其他第三方应用程序的显示方式。给开发人员这样做的能力会破坏用户体验......而且一些应用程序甚至不支持两种方向模式,所以无论如何它都没有多大意义。对不起。

【讨论】:

  • 我在一篇中文博客(fecbob.pixnet.net/blog/post/…)中找到了解决方案。我们可以修改Android框架的PhoneWindowManager和WindowManagerService,通过按键事件触发屏幕旋转事件。但是,正如您所说,没有任何其他第三方应用程序支持屏幕旋转。
  • @hamer 哦...我没有意识到允许更改源代码。您只希望它适用于您的设备或其他东西吗?您必须创建一个自定义构建,因此其他设备无法识别它。
【解决方案2】:

对不起。没有可以改变安卓系统方向的方法。

如果您真的愿意,您将不得不对 Android 源代码本身进行更改,而您也必须更改内核。

你必须在框架中创建一个方法来改变你想要的方向值。此方法将更改方向值(我猜内核使用 sys 文件系统处理方向值)。一旦文件中的值发生更改,内核将自动更改该设备方向。

【讨论】:

  • 我认为这是可能的。一个名为“设置方向”的应用程序 (play.google.com/store/apps/...) 正是这样做的。它预设了 android 设备的屏幕方向。所以如果用户选择模式为“横向”,那么所有的应用程序都将以横向模式打开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多