美文网首页
通话断掉的原因

通话断掉的原因

作者: ownsky | 来源:发表于2017-10-24 14:37 被阅读0次

NOT_DISCONNECTED, INCOMING_MISSED, NORMAL, LOCAL, BUSY, CONGESTION, MMI, INVALID_NUMBER, LOST_SIGNAL, LIMIT_EXCEEDED, INCOMING_REGECTED, POWER_OFF, OUT_OF_SERVICE, ICC_ERROR, CALL_BARRED, FDN_BLOCKED, CS_RESTRICTED, CS_RESTRICTED_NORMAL, CS_RESTRICTED_EMERGENCY, UNOBTAINABLE_NUMBER, CDMA_LOCKED_UNTIL_POWER_CYCLE, CDMA_DROP, CDMA_INTERCEPT, CDMA_REORDER, CDMA_SO_REJECT, CDMA_RETRY_ORDER, CDMA_ACCESS_FAILURE, CDMA_PREEMPTED, CDMA_NOT_EMERGENCY, CDMA_ACCESS_BLOCKED, ERROR_UNSPECIFIED }

其中枚举了通话断掉的原因,其中有很多原因目前还没有理解。

下面定义了一些抽象方法:

1. public abstract String getAddress();  //获取地址值,例如电话号码

2. public abstract String getCnapName();  //Gets CDMA CNAP name associated with the connection

3. public String getOrigDialString();  //取得原始的号码串

4. public abstract Call getCall();  //取得拥有该Connection的Call

5. public abstract long getCreateTime();  //计算通路建立的时间,ms

6. public abstract long getConnectTime();  //计算通话建立连接的时间,ms

7. public abstract long getDisconnectTime();  //计算断开连接的时间,ms

8. public abstract long getDurationMillis();  //计算通话持续的时间

9. public abstract long getHoldDurationMillis();  //计算通话保持的时间,ms

10. public abstract boolean isIncoming();   //是否是来电

11. public Call.State getState();  //取得Connection的状态,通常与Call的状态一致

12. public boolean isAlive(); / public boolean isRinging();   //都是判断目前电话状态的函数

13. public abstract void hangup() throws CallStateException;  //挂断电话的方法

14. public abstract void separate() throws CallStateException;   //分离某个Connection的方法

以下是一些处理加长号码(例如含有分机号的号码)的方法。

Call.java 文件位于 frameworks/base/telephony/java/com/android/internal/telephony 目录下,它是一个抽象类,描述了phone 中通话方面信息:刚开始用一个枚举定义了电话的所有状态,为:    IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED, DISCONNECTING;并且对这些状态进行了归类,具体为:    isActive = !(IDLE || DISCONNECTED || DISCONNECTING);    isRinging = (INCOMING || WAITING);    isDialing = (DIALING || ALERTING);其中定义的方法有:

1. public abstract ListgetConnection();    //获取Call中所有的Connection

2. public abstract Phone getPhone();    //取得包含Call的Phone

3. public abstract boolean isMultiparty();    //是否有多个通话方

4. public abstract void hangup() throws CallStateException;    //挂断通话

5. public boolean hasConnection(Connection c);    //判断Call是否包含某个特定的Connection

6. public boolean hasConnections();    //判断Call中是否包含Connection

7. public State getState();    //返回Call的状态

8. public boolean isIdle();    //返回true,如果Call中仅包含disconnected Connection

9. public Connection getEarlistConnection();    //返回最早建立的Connection

10. public long getEarlistCreateTime();    //返回最早的Connection的建立时间

11. public long getEarlistConnectionTime();    //返回最早的Connection的连接时间

12. public boolean isDialingOrAlerting();

13. public boolean isRinging();

14. public Connection getLastestConnection();    //返回最新建立的Connection

15. public void hangupIfAlive();    //Hangup call if it is alive

相关文章

  • 通话断掉的原因

    NOT_DISCONNECTED, INCOMING_MISSED, NORMAL, LOCAL, BUSY, C...

  • 断掉

    没有用、不常用的东西、用着不顺手的东西…都可以断掉,但抛弃之前一定要想好,不太冲动,否则扔完以后-短时间内又会囤一...

  • 断舍离

    断:断掉自己的执念,断掉自己对别人的期待,断掉无缘之人,断掉人品有太多瑕疵的人。 舍:舍掉自己陈腐的思想,...

  • Centos命令系列 之 screen

    摘要 作为运维人员经常会遇到等到远程主机的链接因为网络原因或者别的其他不可抗拒的原因断掉,此时远程为执行完成的命令...

  • 断掉的勺

    感情这东西在于相处,跟身份其实没有太大的关系。就像老陈这样一个铮铮的山东硬汉,在我跟前生生的哭了,我看得出来他多么...

  • 断掉的弦

    断掉的弦 女儿开始练习这周学习的吉他内容。这周练习的是吉他的调音。我对于音乐一窍不通。看到孩子坐在椅子上很专心的调...

  • 今天学习普通话的韵母,

    中午学习普通话的韵母基础知识,我发现我普通话没说标准的原因了,是我的韵母发音的部位不标准所导致的,所以普通话不...

  • 日更杂记

    原创 栀子花开 上次的日更因为身体的原因断掉了,又或者说,是自己韧性不够吧,无论何种原因,自己是短更了,希望这次...

  • 脐带断掉

    体育课上要做蛙跳。 老师:以前谁受过伤,就不用做蛙跳了。 小白:我腿断过。 小花:我手腕折过。 小明:我脐带断过。...

  • 论“断掉”

    断掉真好 少点一些巧构的美 一些刻意的美 断掉真好,我的五觉开始觉醒,我能看见墙上那斑驳脱落的印渍像一只黑色小猫,...

网友评论

      本文标题:通话断掉的原因

      本文链接:https://www.haomeiwen.com/subject/qkotpxtx.html