【群控】通过adb命令实现接打电话&发短信脚本

由于电信局有规定,手机号码长期不使用时会进入锁定状态(能接电话不能打电话,能接短信不能发短信),所以为了避免手机号被判定为僵尸号需要做一个定期互相拨打电话并且接通的脚本。

声明:本文只用作技术讨论,技术无罪。请勿使用该方法进行违法活动!!!

接打电话操作:

呼出电话:

adb shell am start -a android.intent.action.CALL -d tel:{$phone_number}

接电话:

adb shell setprop persist.sys.tel.autoanswer.ms 2000

或者

adb shell input keyevent 5

挂电话:

adb shell input keyevent 6

判断当前手机状态:

adb shell dumpsys telephony.registry

mCallState - 呼叫状态

0:表示待机状态

1:表示来电尚未接听状态

2:表示电话占线

mServiceState - 服务状态

0:表示正常使用状态

1:表示电话没有连接到任何电信运营网络

2:表示电话只能拨打紧急呼叫号码

3:表示电话已关机

补充shell自动接打电话脚本:

devices=$(adb devices)
var=${devices//List of devices attached/}
var=${var//    device/}
phone="******"
called_device="d922ad4"

for element in $var
do
    if [ ! -n "$(adb -s $element shell dumpsys telephony.registry | grep "mCallState=1")" ]
    then
        adb -s $element shell am start -a android.intent.action.CALL -d tel:{$phone}
        sleep 15
        if [ ! -n "$(adb -s $called_device shell dumpsys telephony.registry | grep "mCallState=1")" ]
        then
            echo "I have no incoming call, please connect SYSTEM_MANAGER."
        else
            adb -s $called_device shell input keyevent 5
            sleep 15
            adb -s $called_device shell input keyevent 6
        fi
    else
          echo "ERROR!!!!!!"
    fi    
done

发短信操作:

打开短信发送UI界面:

adb shell am start -a android.intent.action.SENDTO -d sms:$phone

键入短信内容:(注意只能输入字母)

adb shell input text xxxxxxxxx

移动光标选择:

adb shell input keyevent 22

执行发送:

adb shell input keyevent 66

效果如下图:

【群控】通过adb命令实现接打电话&发短信脚本_第1张图片

你可能感兴趣的:(Android,android,群控)