首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

如何判断android手机打通对方电话了

2012-10-18 
怎么判断android手机打通对方电话了?最好不要说用phonestatelistener,这个只能获得 idle、offhook、ringing

怎么判断android手机打通对方电话了?
最好不要说用phonestatelistener,这个只能获得 idle、offhook、ringing状态,这其实都不能判断接通的。

[解决办法]
其实这个没有api的
实现的方法是靠log。。
貌似腾讯 的qq通讯录也有这个功能 但是不稳定兼容性不佳
我研究的app都是靠log来实现的

D/RILJ ( 190): [11256]< GET_CURRENT_CALLS [id=1,ACTIVE,toa=129,norm,mt,0,voc,noevp,,cli=1,,0]
通过 logcat -b radio 过滤读取

Java code
        Process localProcess = Runtime.getRuntime().exec("logcat -b radio");        InputStream lips = localProcess.getInputStream();        InputStreamReader lisr = new InputStreamReader(lips);        BufferedReader lbfr = new BufferedReader(lisr);        String str = lbfr.readLine(); 然后判断 是否包含日志 正则匹配下 GET_CURRENT_CALLS.*ACTIVE后台开启一个服务 在开始一个线程。一直读取实现监听。。缺点是不是很灵敏。。貌似 qq通讯录应该也是这么干的。。有时候容易失效
[解决办法]
使用OFFHOOK不能判断接通吗?
[解决办法]
android源码里面是有以下状态的:
IDLE,//待机,没有连接
ACTIVE,//通话
HOLDING,//挂断通话
DIALING,//响铃
ALERTING,//提醒
INCOMING,//来电
WAITING,//等待接通
DISCONNECTED,//连接断开后
DISCONNECTING;//连接断开工程中
[解决办法]
探讨

android源码里面是有以下状态的:
IDLE,//待机,没有连接
ACTIVE,//通话
HOLDING,//挂断通话
DIALING,//响铃
ALERTING,//提醒
INCOMING,//来电
WAITING,//等待接通
DISCONNECTED,//连接断开后
DISCONNEC……

[解决办法]
获取无线射频日志信息,变量一般在通话接口中都可以找到,看下android自带docs
[解决办法]
问一句你是怎么应用

热点排行