如何使用ADB命令在android上通过PC打电话?

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

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

请提供源代码。

Solutions Collecting From Web of "如何使用ADB命令在android上通过PC打电话?"

你应该这样做(用你的设备或模拟器的序列号replace<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 } 

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

 /system/bin/radiooptions 

如果你运行它,帮助dislplays

 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将被replace为电话号码。

我在很多HTC设备上看到了这个命令。 我在HTC One上运行了一个Cyanogenmod 10.2,在那里也是如此。 也有可能,它只能在具有高通无线电芯片的设备上使用。

你可以这样做:

  1. 在cmd中input你的adb
  2. inputadb设备。 什么编号,你会得到那将是你的设备号码
  3. input(不含引号):

 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 } 

您可以启动拨号程序,首先find使用的软件包

 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等,这意味着如果您没有select默认拨号器,但有ott调用应用程序安装,否则已经指定了一个替代的默认拨号器,这个调用将不会超过GSM。 这个方法将确保使用gsm。