Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用于调用状态详细信息的adb命令_Android_Shell_Adb_Appium_Call - Fatal编程技术网

Android 用于调用状态详细信息的adb命令

Android 用于调用状态详细信息的adb命令,android,shell,adb,appium,call,Android,Shell,Adb,Appium,Call,我想获得一个adb命令,该命令带有映射到当前调用状态的代码响应 我指的呼叫状态是以下链接中的状态 这些值更具代表性,在执行adb命令时在命令shell中获取这些值将对我非常有帮助 我只按照下面的命令在日志中找到了它们 adb logcat -d | findstr -i InCallFragment.setCallState 但我无法将状态值作为任何adb命令的响应 任何帮助都将不胜感激 谢谢 更多说明 请将手机连接到电脑,拨打电话并结束通话 使用上述命令转储缓冲区 请参阅状态值通过修改自定

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

我指的呼叫状态是以下链接中的状态

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

我只按照下面的命令在日志中找到了它们

adb logcat -d | findstr -i InCallFragment.setCallState
但我无法将状态值作为任何adb命令的响应

任何帮助都将不胜感激 谢谢

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

通过修改自定义ROM(天堂OS)并添加一个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


我认为,否则您将无法做到这一点……

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


您可以使用Sys电信服务:

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

谢谢你的回复,但我认为获得一个新的ROM会改变我的测试环境,这根本不是我想要做的。添加这个方法,我们是否有权限将这样的代码添加到android操作系统中,如何做到?我同步了沿袭操作系统repo并进行了更改。。。之后我不得不编译那个ROM。没有权限是必要的,因为每个状态都是用logcathanks写的。我已经尝试了你的解决方案,但我不认为它给了我我想要的,它只返回0表示空闲,2表示活动调用。。。如果我错了,请纠正我。请查看主题中的链接,您会发现调用状态根据调用状态更改为大约10种不同的状态,我希望在传递ADB命令时在shell中获取这些值
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