是否可以通过ADB检查设备方向?
不是通过ADB安装任何软件,调用任何现有软件。会猜到/proc
中有某个状态文件,但还找不到它。
答案 0 :(得分:10)
这可以通过以下命令完成:
adb shell dumpsys | grep 'SurfaceOrientation' | awk '{ print $2 }'
对于四种可能的方向中的每一种,输出将是0到3的整数。 0和2是风景,而1和3是肖像。由于dumpsys
输出非常大,命令可能需要几秒钟才能完成。
更新: dgmltn的修改速度可能更快:
adb shell dumpsys input | grep 'SurfaceOrientation' | awk '{ print $2 }'
答案 1 :(得分:0)
更简单的解决方案:
adb shell dumpsys window | grep -i surfaceorientation | awk '{ print $2 }'
答案 2 :(得分:0)
我在打开content query --uri content://settings/system --projection name:value --where "name='user_rotation'"
后找到了此方法adb shell
。虽然如果在没有首先打开shell的情况下输入似乎不起作用。
答案 3 :(得分:0)
除了前面的答案,我想指出的是adb shell dumpsys | grep 'SurfaceOrientation'
的返回值并不总是遵循特定的设备规则(“ 0和2是风景,而1和3是肖像”是错误)。
我通过附加查询改进了该方法,该查询建议如何解释返回值,即
dumpsys window | grep 'mLandscapeRotation'
值0表示:0和2是风景,1和3是肖像
值1表示相反的情况
答案 4 :(得分:0)
我不确定自上次回答以来是否发生了变化,或者是因为我正在模拟不同的设备。
但是 SurfaceOrientation
和 mLandscapeRotation
都没有出现在我的 dumpsys 中。
在旋转之间对 dumpsys
的输出进行差异后,我发现
mPredictedRotation
#Normal
$./adb shell dumpsys window displays | grep 'mPredictedRotation'
mPredictedRotation=0
#Right
$./adb shell dumpsys window displays | grep 'mPredictedRotation'
mPredictedRotation=3
#Inverted
$./adb shell dumpsys window displays | grep 'mPredictedRotation'
mPredictedRotation=2
$Left
#./adb shell dumpsys window displays | grep 'mPredictedRotation'
mPredictedRotation=1