我试图在adb shell的键盘拨号器上拨打***#0808#*#*之类的密码

时间:2019-05-28 23:57:02

标签: android adb

我想通过android拨号器拨打一个号码,该拨号器打开键盘/拨号器并使用adb命令拨打该号码。

我尝试使用以下adb shell命令拨打该号码:

adb shell am start -a android.intent.action.CALL -d tel:*#*#0808#*#*

但是这会将OTA号码作为MMI代码拨打,这不是我们想要的。

有人告诉我代码#0808#是启动隐藏菜单的秘密代码,必须通过拨号程序拨打它。

>

我发现该命令:

adb shell monkey -p com.android.dialer -c android.intent.category.LAUNCHER 1

启动电话应用程序(但不启动num键盘)。

所以,然后我尝试使用以下命令拨打它:

adb shell monkey -p com.android.dialer/com.android.incallui.InCallActivity -c android.intent.category.LAUNCHER 1 *#*#0808#*#*

但这没用。

有人可以帮忙为什么它不起作用?以及如何启动拨号程序并拨打该号码?

谢谢!

2 个答案:

答案 0 :(得分:0)

您到底想达到什么目的?这些代码称为USSD代码(请尝试使用Google Android USSD代码)。它们在每个设备上都不同。好的,其中一些可以在大多数电话上运行,但这不是规则。请谨慎使用这些代码,因为其中一些代码可能会导致出厂重置或设备设置不正确。

通过adb执行这些代码时,您需要对其进行url编码(检查https://www.degraeve.com/reference/urlencoding.php),因此*%2A,而#%23您的情况:

adb shell am start -a android.intent.action.CALL -d tel:%2A%23%2A%230808%23%2A%23%2A

但是,如果通过拨号程序插入的代码对您不起作用,那么这也不起作用。 我在装有Android 6.0的Sony Xperia Z5上尝试了您的代码,但它不起作用:-(

可以通过“设置”>“开发人员选项”>“ USB配置”来访问BTW usb设置

答案 1 :(得分:0)

我使用adb shell从命令提示符中找出了需要提供的命令,以完成所需的操作。

adb shell input keyevent KEYCODE_HOME

adb shell input tap 197 2523 #enter the dialer 

adb shell input tap 1272 2467 #enter the dialer keypad

adb shell input text "*#*#4412#*#*"

这类数字称为USSD代码/ MMI命令。