如何在Android模拟器中伪造来电?
下面的代码可以让我打电话,但我想强制模拟器接收来电,最好是从我选择的号码呼入。
adb shell am start -a android.intent.action.CALL tel:1112223333
因此,与上述命令直接相反。
注:5554:模拟器实例的控制台端口号$ telnet localhost 5554
$ gsm call 123456789
gsm call <the number you want the phone to see>
按下回车键就完成了。
编辑: 你也可以发送伪造的短信:
sms send <the number you want the phone to see> <the message>
测试相同行为的另一种选择是使用真实手机和Google的两步验证设置来生成电话(见图像)。
$ echo "gsm call 123456789" | nc -v localhost 5554
Shell脚本incoming_call.sh:
#!/bin/sh
expect << EOF
spawn telnet localhost 5554
expect -re ".*>"
send "gsm call $1\r"
expect -re ".*>"
send "exit\r"
EOF
使用方法:
incoming_call.sh +55555555555
adb shell am start -a android.intent.action.CALL -d tel:+CCXXXXXXXXXX
CC代表国家代码,XX代表电话号码。
您可以通过telnet连接到模拟器来完成此操作。
打开命令提示符并输入
telnet localhost <console-port>
您可以在模拟器的标题栏上找到<console-port>
。
根据上面的示例,我的<console-port>
是5554。
连接到模拟器后,通过telnet输入
gsm call <telephone-number>