通过ADB命令查询电话

Duc*_*e88 0 java android adb

有没有办法用ADB命令查询电话呼叫状态?

例如,我想查看电话中的电话是否仍处于活动状态,或者电话呼叫是否仍然存在(已丢弃)

Sau*_*ram 5

你可以使用dumpsys命令.

$ adb shell dumpsys telephony.registry
Run Code Online (Sandbox Code Playgroud)

该字段mCallState给出了呼叫状态:

$ adb shell dumpsys telephony.registry | grep "mCallState"
Run Code Online (Sandbox Code Playgroud)
  1. 处于空闲模式时:

    $ adb shell dumpsys telephony.registry | grep "mCallState"         
    mCallState=0
    
    Run Code Online (Sandbox Code Playgroud)
  2. 连接呼叫时:

    $ adb shell dumpsys telephony.registry | grep "mCallState"         
    mCallState=2
    
    Run Code Online (Sandbox Code Playgroud)
  3. 当一个呼入电话(电话振铃模式):

    $ adb shell dumpsys telephony.registry | grep "mCallState\|mCallIncomingNumber"
    mCallState=1
    mCallIncomingNumber=+9191XXXXXXXX
    
    Run Code Online (Sandbox Code Playgroud)

更多信息:

  1. Android TelephonyManager.
  2. TelephonyManager 呼叫状态.

经过测试 Android v4.4.4

杂项:
您可以使用获取大量信息dumpsys.
查看dumpsys支持使用的参数adb shell dumpsys | grep "DUMP OF SERVICE".