【问题标题】:adb command for call state details用于呼叫状态详细信息的 adb 命令
【发布时间】:2018-07-03 07:17:11
【问题描述】:

我想获得一个带有映射到当前调用状态的代码响应的 adb 命令

我的意思是以下链接中的通话状态

https://developer.android.com/reference/android/telecom/Call.html#STATE_ACTIVE

这些值更具代表性,在执行 adb 命令时在命令 shell 中获取这些值对我很有帮助

我只设法按照以下命令将它们记录在日志中

adb logcat -d | findstr -i InCallFragment.setCallState

但我无法获取状态值作为任何 adb 命令的响应

任何帮助将不胜感激 谢谢

更多说明 请将手机连接到电脑,拨打电话并结束 使用上述命令转储缓冲区 参考状态值

【问题讨论】:

    标签: android shell adb appium call


    【解决方案1】:

    通过修改自定义 ROM (LineageOS) 并添加 android.util.Log 行来打印每个状态,我已经实现了您想要做的事情。

    就我而言,我修改了类:

    致电

    frameworks/opt/telephony/src/java/com/android/internal/telephony/Call.java

    而我所做的是在 getState(...) 方法中,添加这一行:

    Log.i(myTAG, "getState state->" + mState.name());
    

    有了这个,我要做的就是在 adb logcat 中搜索 myTAG。

    我认为否则你将无法做到......

    【讨论】:

    • 感谢回复,不过我觉得换个新ROM会改变我的测试环境,这根本不是我打算做的。
    • 添加这个方法,我们是否有权限将这样的代码添加到android操作系统,怎么做??
    • 我同步 lineage os repo 并进行了更改...之后我必须编译该 ROM。不需要权限,因为每个状态都写在 logcat 中
    【解决方案2】:

    您可以使用adb shell service call telecom [code] 命令。 getCallState() 的代码将不同 depending on the Android version

    6.0.1: 26
    7.0.0: 27
    7.1.0: 27
    7.1.2: 27
    8.0.0: 29
    8.1.0: 29
    

    【讨论】:

    • 感谢您的回复,我已经尝试了您的解决方案,但我认为它没有给我我想要的东西,它只返回 0 表示空闲,2 表示活动呼叫...请纠正我如果我我错了
    • 请查看主题中的链接,您会发现调用状态会根据调用状态更改为大约 10 种不同的状态,我想在 shell 中将这些值作为我通过了 ADB 命令
    【解决方案3】:

    你可以dumpsys电信服务:

    adb shell dumpsys telecom
    CallsManager: 
    mCalls:
    [TC@7, ACTIVE, com.android.phone/com.android.services.telephony.TelephonyConnectionService, tel:***, A, childs(0), has_parent(false), [Capabilities: CAPABILITY_HOLD CAPABILITY_SUPPORT_HOLD CAPABILITY_MUTE CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO], [Properties:]]
    mCallAudioManager:
    All calls:
      TC@7
    Active dialing, or connecting calls:
      TC@7
    Ringing calls:
    Holding calls:
    Foreground call:
    [TC@7, ACTIVE, com.android.phone/com.android.services.telephony.TelephonyConnectionService, tel:***, A, childs(0), has_parent(false), [Capabilities: CAPABILITY_HOLD CAPABILITY_SUPPORT_HOLD CAPABILITY_MUTE CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO], [Properties:]]
    mTtyManager:
    mCurrentTtyMode: 0
    mInCallController:
    mInCallServices (InCalls registered):
    .
    .
    Call TC@7 [2018-06-05 14:38:41.505](MO - outgoing)
      To address: tel:***
      14:38:41.508 - CREATED:PCR.oR@DMA
      14:38:41.511 - SET_CONNECTING (ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [8c3d1caa626a79d75b154221ea94852a62fee7b3], UserHandle{0}):PCR.oR@DMA
      14:38:41.847 - AUDIO_ROUTE (Leaving state QuiescentEarpieceRoute):PCR.oR->CAMSM.pM_2001->CARSM.pM_SWITCH_FOCUS@DMA_2_2
      14:38:41.847 - AUDIO_ROUTE (Entering state ActiveEarpieceRoute):PCR.oR->CAMSM.pM_2001->CARSM.pM_SWITCH_FOCUS@DMA_2_2
      14:38:43.442 - BIND_CS (ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}):NOCBIR.oR@DMU
      14:38:43.519 - CS_BOUND (ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}):SBC.oSC@DMY
      14:38:43.519 - START_CONNECTION (tel:***):SBC.oSC@DMY
      14:38:43.703 - CAPABILITY_CHANGE (Current: [[ sup_hld mut !v2a]], Removed [[]], Added [[ sup_hld mut !v2a]]):CSW.hCCC@DMg
      14:38:43.706 - SET_DIALING (successful outgoing call):CSW.hCCC@DMg
      14:38:47.560 - SET_ACTIVE (active set explicitly):CSW.sA@DNM
      14:38:47.639 - CAPABILITY_CHANGE (Current: [[ hld sup_hld mut !v2a]], Removed [[]], Added [[ hld]]):CSW.sCC@DNY
      Timings (average for this call, milliseconds):
        bind_cs: 77.00
        outgoing_time_to_dialing: 187.00
    

    【讨论】:

      猜你喜欢
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 2014-08-30
      • 2012-06-22
      • 2019-02-19
      相关资源
      最近更新 更多