que - Cambio de orientación del dispositivo Android con ADB
comandos adb shell (3)
Estoy usando Android 4.4 en un dispositivo real y quiero configurar la orientación del dispositivo a través de adb
. No quiero que se haga con uiautomator ya que no durará después de la terminación del código de uiautomator.
¿Cómo puedo hacer esto?
Desactivar accelerometer_rotation
y configurar el 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
Ejemplo usando adb:
adb shell settings put system accelerometer_rotation 0
adb shell settings put system user_rotation 3
Ejemplo programáticamente:
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);
En lugar de usar "contenido de shell adb", hay una forma más limpia usando "configuración de shell adb". Ellos están haciendo lo mismo, poner valor al proveedor de configuración.
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°
Es posible que primero tengas que apagar la rotación automática.
adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0
girar hacia el paisaje
adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1
rotar retrato
adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:0