OpenYTMusicPlayMusic();
mDevice.pressKeyCode(KEYCODE_POWER);
Thread.sleep(WAIT_TIME);
mDevice.pressKeyCode(KEYCODE_POWER);
Thread.sleep(WAIT_TIMEOUT);
new Thread(new Runnable() {
@Override
public void run() {
try {
mDevice.executeShellCommand("./data/local/tmp/wakeup.sh >/dev/null &");
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
mDevice.findObject(new UiSelector().resourceId("systemui:id/actionPrev")).clickAndWaitForNewWindow();
SwipeToScreenOn();
一下wakeup.sh内容
adb push wakeup.sh /data/local/tmp
adb shell chmod 777 /data/local/tmp/wakeup.sh
#/system/bin/sh
round=1
while [ $round -le 60 ]
do
if [ $(dumpsys window policy | grep screenState | awk -F '=' '{print $2}') == "SCREEN_STATE_ON" ]
then
echo "screenon"
sleep 1
else
echo "screenoff"
input keyevent KEYCODE_POWER
sleep 1
fi
((round++))
done
确保滑动解锁能够成功的shell脚本
#/system/bin/sh
round=1
x=$(($(wm size | awk -F '[ x]' '{print $3}')/2))
height=$(wm size | awk -F '[ x]' '{print $4}')
while [ $(dumpsys window policy | grep showing | awk -F '=' '{print $2}') == "true" ]
do
echo "lock"
input swipe $x $((height*2/3)) $x $((height/3))
sleep 7
done
public void SkipPattern()throws Exception{
new Thread(new Runnable() {
@Override
public void run() {
try {
mDevice.executeShellCommand("./data/local/tmp/unlock.sh >/dev/null &");
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
UiObject lockpattern = mDevice.findObject(new UiSelector().resourceId("lockPatternView"));
Rect pattern = lockpattern.getBounds();
//分析了一下就是left就+100,right就-100,bottom-100,top+100
Point point1 = new Point(pattern.left+100,pattern.bottom-100);
Point point2 = new Point(pattern.right-100,pattern.bottom-100);
Point point3 = new Point(pattern.right-100,pattern.top+100);
Point[] point = {point1,point2,point3};
mDevice.swipe(point,15);
Thread.sleep(7000);
}