安卓电话栈中不同的呼叫状态代表什么?

10

内部的 Android 类 com.android.internal.telephony.Call 包含一个名为 State 的枚举类型,定义如下:

public enum State {
    IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED, DISCONNECTING;

    public boolean isAlive() {
        return !(this == IDLE || this == DISCONNECTED || this == DISCONNECTING);
    }

    public boolean isRinging() {
        return this == INCOMING || this == WAITING;
    }

    public boolean isDialing() {
        return this == DIALING || this == ALERTING;
    }
}

不同状态代表什么?


你知道如何使用这个类吗?(我有显示内部/隐藏API的应用程序,已安装为系统并具有root权限,但完全不知道如何使用它) - Edw590
2个回答

8

好的,这是我自己尝试回答这个问题:

/** Call is idle. */
IDLE,
/** Call is active i.e. audio paths are connected. */
ACTIVE,
/** We have placed the call on hold. */
HOLDING,
/** Outgoing dialling call initiated. */
DIALING,
/** Outgoing call is alerting receiving party. */
ALERTING,
/** Incoming call ready for pickup. */ 
INCOMING,
/** Incoming call is waiting for pickup, while another call is in progress. */
WAITING,
/** Call is disconnected, by either party. */
DISCONNECTED,
/** Call is currently being disconnected. */
DISCONNECTING;

2
3GPP TS 27.007 version 13.5.0 Release 13

List current calls +CLCC

Command 
+CLCC

Possible response(s)
[+CLCC: <ccid1>,<dir>,<stat>,<mode>,<mpty>[,<number>
,<type>[,<alpha>[,<priority>[,<CLI validity>]]]]
[<CR><LF>+CLCC: <ccid2>,<dir>,<stat>,<mode>,<mpty>[,
<number>,<type>[,<alpha>[,<priority>[,<CLI validity>
]]]]
[...]]]
+CME ERROR: <err>

<stat>: integer type (state of the call)
0 active
1 held
2 dialing (MO call)
3 alerting (MO call)
4 incoming (MT call)
5 waiting (MT call) 

My interpretation:

0 active: call in progress (setup was successful)
1 held: call on hold
2 dialing (MO call): number dialed
3 alerting (MO call): number dialed and the called party is alerted
4 incoming (MT call): incoming call, ringtone played (AT RING notification)
5 waiting (MT call): call waiting notification while another call is active (if call waiting feature enabled)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接