如何通过Android上的ADB命令通过PC拨打电话?

时间:2011-02-07 16:13:37

标签: android command-line adb

我想在android的命令行上通过ADB命令进行调用。

如何使用ADB命令通过PC拨打电话?

请提供源代码。

6 个答案:

答案 0 :(得分:42)

你应该这样做(用你的设备或模拟器的序列号替换< serialno>,例如emulator-5554):

$ adb -s <serialno> shell am start -a android.intent.action.CALL -d tel:555-5555

并在logcat中看到这一点:

Starting: Intent { act=android.intent.action.CALL dat=tel:xxx-xxx-xxxx }

答案 1 :(得分:6)

您可以通过以下方式执行此操作:

  1. 输入您的adb in cmd
  2. 输入adb设备。你会得到什么ID将是你的设备号
  3. 输入(不含引号):
  4. adb -s "Your devices number" shell am start -a android.intent.action.CALL -d tel:"phone no. to call"
    

    就是这样,你会得到答案:

    Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxx }
    

答案 2 :(得分:4)

一个人可以使用此命令通过PC触发的Android拨打电话。

adb shell am start -a android.intent.action.CALL -d tel:+CCXXXXXXXXXX
  1. cc =国家代码
  2. XXXXXXXXXX =电话号码

答案 3 :(得分:3)

在某些Android设备上,存在可执行文件

/system/bin/radiooptions

如果你运行它,帮助就会显示

Usage: radiooptions [option] [extra_socket_args]
           0 - RADIO_RESET, 
           1 - RADIO_OFF, 
           2 - UNSOL_NETWORK_STATE_CHANGE, 
           3 - QXDM_ENABLE, 
           4 - QXDM_DISABLE, 
           5 - RADIO_ON, 
           6 apn- SETUP_PDP apn, 
           7 - DEACTIVE_PDP, 
           8 number - DIAL_CALL number, 
           9 - ANSWER_CALL, 
           10 - END_CALL 

要拨号,您只需运行

即可
adb shell su -c "radiooptions 8 XXXXXXX"

其中XXXXXXX将由phonenumber替换。

我在很多HTC设备上看到了这个命令。我目前在HTC One上运行Cyanogenmod 10.2,并且它也是如此。也有可能,它仅适用于带有Qualcomm无线电芯片的设备。

答案 4 :(得分:1)

您可以通过首先使用

查找包来启动拨号器
adb shell dumpsys window windows | grep -E 'mCurrentFocus'

然后使用

启动它
adb shell monkey -p <package> 1 (probably com.android.contacts)

通过点击拨号器的坐标确保您在拨号器上而不是联系人页面

adb shell input tap <x> <y> (in my case 65, 80)

输入数字

adb shell input text <number>

然后点击拨号坐标

adb shell input tap <x> <y> (in my case 220, 750)

肯定这个答案是矫枉过正的。但是,我之前遇到的所有答案都将启动一个对话框,询问您希望使用哪个应用程序来完成操作 - skype,viber等,这意味着如果您没有选择默认拨号器但是有ott调用已安装的应用程序,或者已指定其他默认拨号程序,将不会通过gsm进行调用。此方法将确保使用gsm。

答案 5 :(得分:0)

adb shell输入keyevent 5 && adb shell输入文本1234567890 && adb shell输入keyevent 5

此处1234567890是电话号码