Android: Dial Number From ADB Shell Trick

Do you know that you can make your Android phone dial a number directly from the ADB shell? I am not sure if this trick will have any practical use, but this tutorial will show you how this can be done. No rooting is required.

The prerequisites to perform this trick are:

  1. Android phone with USB debugging enabled
  2. Android SDK – comes with the ADB utility

Rooting of the phone is not required.

Dial Number From ADB

To dial (not call) a number from ADB, open a terminal or command prompt window on your Linux or Windows machine and run the following ADB shell command.

$ adb shell service call phone 1 s16 "+6512345678"
Result: Parcel(00000000    '....')

Modify the number “+6512345678” with the number that you want to dial. Once you execute the adb shell service command, the dialer app would pop up on your phone with the number +651234567 dialed. You will need to press the call button to make the call. The number is specified in international format. But you can remove the “+ sign and specify the phone number in national format as well.

Call A Number From ADB

To make a call from ADB, we will need to change the way we call the service command.

$ adb shell service call phone 2 s16 "" s16 "+6512345678"
Result: Parcel(00000000    '....')

As with the previous case, change +6512345678 to the number that you want to call. Your phone will start calling that number once the command is executed.

There is also an alternative command to make a phone call from ADB.

$ adb shell am start -a android.intent.action.CALL -d tel:+6512345678
Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx }

ibrahim = { interested_in(unix, linux, android, open_source, reverse_engineering); coding(c, shell, php, python, java, javascript, nodejs, react); plays_on(xbox, ps4); linux_desktop_user(true); }