今天介绍一下在Android中实现通话接通后震动提示,这里通话主要是针对拨出的电话.想要在接通的时候给出震动提示那么我们就需要知道通话何时是被接通的.这样才能在进入该状态后给出提示.但SDK中并没有直接获得这种状态的方式.首先我们看一下SDK中电话服务类为我们提供了哪些通话状态.
SDK中的TelephonyManager类提供了3种电话的状态.
CALL_STATE_IDLE 空闲状态
CALL_STATE_OFFHOOK 摘机状态
CALL_STATE_RINGING 响铃状态
这几个状态很容易理解,其中摘机状态即拿起话筒(对于座机电话而言的动作),但这个状态可能发生在拨入电话接通时,也可能是拨出电话时.但是却不能说明拨出电话接通时.通过以上3种状态我们仅能组合出:挂机,来电接通.这两个状态.而今天我们要实现的功能却无法做到.
看来我们需要寻找其他方法来实现了,SDK靠不住啊……
还好Android在运行时会有大量的log产生,看看我们能不能从这上面找到突波口呢.我们选择Android的Radio模块的日志来分析.首先我们需要写一段代码来读取Radio相关的log.<