android中有办法获取当前手机的通话状态吗?不是OFFHOOK状态哦。

hhgood 2015-09-16 02:37:56
之前大家一直都是android提供的接口中的phonestate状态中的OFFHOOK来判断是否是通话中的,但是这个其实不是通话中,而是叫摘机中,也就是说,你开始打电话时,即使没有人接听,也算是OFFHOOK,,所以没办法知道是不是真的有人接听了。

后来有人提出用读取日志的方式来判断是否在通话中,但是自从4.0以后,android不支持READ_LOGS这个权限了,这个方法也失效了,现在有没有其他办法能获取是否在通话中呢?

附:之前老版本可以通过 Runtime.getRuntime().exec("logcat -v time -b radio"); 来读取日志,现在4.0后再也用不起来了。

我已经找了很多资料了,好象只有通过修改内核才能实现了,但是这明显对于一个app来说是不可行的。
...全文
453 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhgood 2015-09-16
  • 打赏
  • 举报
回复
后来我又查了一下,有一种说法是要让程序装到/system/app目录下面就能获取READ_LOGS权限了,这就涉及到root了,但是明显对于面向大量用户的app来说,这也是不可行的。
qq_26763799 2015-09-16
  • 打赏
  • 举报
回复
我记得有三个状态,响铃、来点、通话...具体怎样不记得了

80,337

社区成员

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

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