怎么判断android手机打通对方电话了?

超越自己 2011-08-24 10:15:50
最好不要说用phonestatelistener,这个只能获得 idle、offhook、ringing状态,这其实都不能判断接通的。
...全文
1142 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
too__young 2013-07-07
  • 打赏
  • 举报
回复
楼主解决了吗
too__young 2013-07-07
  • 打赏
  • 举报
回复
去电时对方没接,通话时间不为0。
大Super 2013-04-19
  • 打赏
  • 举报
回复
引用 11 楼 huangd29 的回复:
研究一个类似的问题,研究了一个晚上,搞了一个应该可行的办法: 当通话状态从OFFHOOK到IDLE转化时 马上读取通话记录,然后判断第一个通话记录的持续时间是不是0 如果是则表示没打通 关于通话记录: http://blog.sina.com.cn/s/blog_72fad6270100x2q5.html 这里面有介绍持续时间的
会不会存在这样的情况,即使没接通,通话时间还是不为0的?
huangd29 2012-09-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

研究一个类似的问题,研究了一个晚上,搞了一个应该可行的办法:
当通话状态从OFFHOOK到IDLE转化时
马上读取通话记录,然后判断第一个通话记录的持续时间是不是0
如果是则表示没打通

关于通话记录:
http://blog.sina.com.cn/s/blog_72fad6270100x2q5.html 这里面有介绍持续时间的
[/Quote]

漏了一点,记得加上权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
huangd29 2012-09-30
  • 打赏
  • 举报
回复
研究一个类似的问题,研究了一个晚上,搞了一个应该可行的办法:
当通话状态从OFFHOOK到IDLE转化时
马上读取通话记录,然后判断第一个通话记录的持续时间是不是0
如果是则表示没打通

关于通话记录:
http://blog.sina.com.cn/s/blog_72fad6270100x2q5.html 这里面有介绍持续时间的
超越自己 2011-09-07
  • 打赏
  • 举报
回复
我就是想测试一组号码看看是否是废弃的,打通表示是有效的,打不同表示无效号码
jeky_zhang2013 2011-09-03
  • 打赏
  • 举报
回复
获取无线射频日志信息,变量一般在通话接口中都可以找到,看下android自带docs
qeqeqe236 2011-09-03
  • 打赏
  • 举报
回复
问一句你是怎么应用
超越自己 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hijovi 的回复:]

其实这个没有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 过滤读……
[/Quote]

请问 Process localProcess = Runtime.getRuntime().exec("logcat -b radio");
是什么意思啊?能详细的讲下吗?
超越自己 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luzhiqin 的回复:]

android源码里面是有以下状态的:
IDLE,//待机,没有连接
ACTIVE,//通话
HOLDING,//挂断通话
DIALING,//响铃
ALERTING,//提醒
INCOMING,//来电
WAITING,//等待接通
DISCONNECTED,//连接断开后
DISCONNEC……
[/Quote]请问下怎么得到这个状态啊?
ffyd2000 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luzhiqin 的回复:]

android源码里面是有以下状态的:
IDLE,//待机,没有连接
ACTIVE,//通话
HOLDING,//挂断通话
DIALING,//响铃
ALERTING,//提醒
INCOMING,//来电
WAITING,//等待接通
DISCONNECTED,//连接断开后
DISCONNEC……
[/Quote]
记得ALERTING 这个状态就是接通
luzhiqin 2011-08-25
  • 打赏
  • 举报
回复
android源码里面是有以下状态的:
IDLE,//待机,没有连接
ACTIVE,//通话
HOLDING,//挂断通话
DIALING,//响铃
ALERTING,//提醒
INCOMING,//来电
WAITING,//等待接通
DISCONNECTED,//连接断开后
DISCONNECTING;//连接断开工程中
多鱼的夏天 2011-08-25
  • 打赏
  • 举报
回复
使用OFFHOOK不能判断接通吗?
hijovi 2011-08-25
  • 打赏
  • 举报
回复
其实这个没有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 过滤读取


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通讯录应该也是这么干的。。有时候容易失效



原文。。http://www.yoooo.org/?p=108
超越自己 2011-08-24
  • 打赏
  • 举报
回复
怎么没人回答啊,自己顶一个

80,475

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧