通过adb检查重启后是否第一次显示锁定屏幕(Android)

时间:2015-10-07 14:46:24

标签: android adb

原始标题:检查屏幕是否已通过adb(Android)锁定

我有一个手机生根脚本。它要求手机重启几次,并要求我按下#34;输入"每次重启后。我希望我的脚本通过adb知道何时显示锁定屏幕(并重新启动完成)。

我不想在手机上安装其他软件,只是为了在脚本完成时将其删除。 我可以使用adb wait-for-device但设备在重新启动完成之前可用。而且我不想添加N秒延迟。

我想要一种让我知道锁屏已经显示的方法。 (我没有将手机配置为使用默认锁定屏幕以外的其他内容,因此可以假设它将被显示)。

修改

解决方案https://stackoverflow.com/a/13095523/755804有效。我将问题保留在原始状态,让其他人愿意检查锁屏是否显示(重启后第一次)了解dev.bootcomplete属性。

# works
adb wait-for-device shell 'while [ "$(getprop dev.bootcomplete)" != "1" ] ; do sleep 1; done'

顺便说一下,在显示锁定屏幕几秒钟后播出。

EDIT2

使用dumpsys的建议首先在我的手机上不起作用(因为我不知道该怎么做; @Mattia:你不应该删除你的答案。)

# it did not work for me
adb shell dumpsys power | grep mBootCompleted

但我认为dumpsys仍然值得一提,请阅读:What's the Android ADB shell "dumpsys" tool and what are its benefits?与logcat不同,dumpsys无法无限运行,它会打印一个长输出然后停止。

经过一些研究,我可以使用非常慢的

获得旗帜
# very slow
adb shell dumpsys | grep -i mSystemBooted

并且相当快

adb shell dumpsys window | grep -i mSystemBooted

(首先它不显示任何内容,然后显示mSystemBooted=false,然后mSystemBooted=true显示同一行中的其他内容)。可能该短语可能因设备和Android版本而异。

0 个答案:

没有答案