如何"Change Screen Orientation Settings of whole device"?

How to "Change Screen Orientation Settings of whole device"?

我想在我的应用程序中将 android 设备的屏幕方向设置从任何模式更改为“自动旋转”。此更改不仅适用于我的应用程序,而且适用于整个设备。我也有“Root 访问权限”,但如果没有 root 访问权限也能实现这一点,那就更好了。 Playstore 中已经有像“Rotation Control”这样的应用程序可以执行此操作,但我不知道它是如何工作的,我只获得了在应用程序级别更改屏幕方向的文档和教程,但我需要设备级别。所以至少请指导我一点,否则任何想法都会有所帮助。

在清单中设置方向权限:

android:configChanges="orientation"

然后通过调用 setRequestedOrientation:

启用方向
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

你可以使用这样的东西

public static void setAutoOrientationEnabled(Context context, boolean enabled)
    {
          Settings.System.putInt( context.getContentResolver(), 
          Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0);
    }

不要忘记添加权限

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

更多详情请看this