使用ADB更改Android设备方向

我在真实设备上使用Android 4.4,我想通过adb设置设备方向。 我不想用uiautomator完成它,因为它不会在uiautomator代码终止后持续。

我怎样才能做到这一点?

您可能首先需要closures自动旋转

 adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0 

旋转到风景

  adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1 

旋转肖像

  adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:0 

而不是使用“adbshell内容”,通过使用“adbshell设置”有一个更干净的方法。 他们正在做同样的事情,把价值提供给设置提供商。

 adb shell settings put system accelerometer_rotation 0 #disable auto-rotate adb shell settings put system user_rotation 3 #270° clockwise 
  • accelerometer_rotation: auto-rotation, 0 disable, 1 enable
  • user_rotation: actual rotation, clockwise, 0 0°, 1 90°, 2 180°, 3 270°

禁用accelerometer_rotation并设置user_rotation


user_rotation Values:

 0 # Protrait 1 # Landscape 2 # Protrait Reversed 3 # Landscape Reversed 

accelerometer_rotation Values:

 0 # Stay in the current rotation 1 # Rotate the content of the screen 

使用adb的示例:

 adb shell settings put system accelerometer_rotation 0 adb shell settings put system user_rotation 3 

编程示例:

 import android.provider.Settings; // You can get ContentResolver from the Context Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0); Settings.System.putInt(getContentResolver(), Settings.System.USER_ROTATION, 3);