由于电信局有规定,手机号码长期不使用时会进入锁定状态(能接电话不能打电话,能接短信不能发短信),所以为了避免手机号被判定为僵尸号需要做一个定期互相拨打电话并且接通的脚本。
声明:本文只用作技术讨论,技术无罪。请勿使用该方法进行违法活动!!!
接打电话操作:
呼出电话:
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 $vardo 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
效果如下图:
来源地址:https://blog.csdn.net/u013772433/article/details/128789992