在 Android 中,针对低于 11 版本的 API,是否可以使用 "USER_ROTATION" (用户旋转)?(解决方法?)

15

在我的应用程序中,我正在使用以下命令:

Settings.System.putInt(getContentResolver(), Settings.System.USER_ROTATION, m_lockedInOrientation)
根据Android网站所述,当Android无法找到默认方向时,将设置默认屏幕方向:

没有其他策略适用时的默认屏幕旋转。当ACCELEROMETER_ROTATION为零且没有任何屏幕活动表达首选项时,将使用此旋转值。

目前这是我在Android 2.X上的应用程序无法工作的唯一原因,但在3.X+上可以正常运行。
是否有人知道解决这个问题的方法?


1
了解为什么需要设置此系统首选项将会很有用。如果您只需要控制自己应用程序的默认旋转,则有另一种方法可以实现。如果您真的需要在整个系统范围内设置此首选项,则可能没有解决方法,因为在 Android < honeycomb 上根本不存在此设置。 - Brett Duncavage
该应用程序是一种控制系统方向的工具,因此它不仅适用于我的应用程序。 - SagiLow
如果您想覆盖其他应用程序的方向而不仅仅指定默认系统方向,请查看 How can I globally force screen orientation in Android? - Sam
使用getRotation()方法。 https://developer.android.com/reference/android/view/Display.html#getRotation() - hkaraoglu
1个回答

0
 //vetical position
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Make to run your application only in portrait mode
  //HORIZONDEL setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SCREEN_ORIENTATION_LANDSCAPE);

2
请提供更多的解释。 - Alexander Farber

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