繁体   English   中英

Android:连接时电话呼叫检测?

[英]Android : Phone call detect when connected?

我可以使用此代码拨打电话:

Intent dial = new Intent(Intent.ACTION_CALL); 
dial.setData(Uri.parse("tel:5556") ); 
context.startActivity(dial);

但是如何检测是否接听电话或拒绝接听电话? 我尝试过PhoneStateListener,但它无法正常工作。

不幸的是,Android没有理由知道何时接听了拨出电话。

PhoneStateListener工作正常,但onCallStateChanged通知的3个状态是不够的。 欢迎使用像CALL_STATE_CONNECTED这样的附加状态。

有一个未解决的问题要求此功能,但到目前为止它没有受到太多关注: https//code.google.com/p/android/issues/detail?id = 14266

有些人(像我一样)使用logcat回退并尝试推断是否已经回答了拨出电话,但这远非理想的解决方案。

我也在寻找同样问题的答案,显然没有直接的方法来做到这一点。 但是,我认为我们可以将Call Log内容观察者与PhoneStateListener结合起来以获得呼叫持续时间。 我们可以在启动传出呼叫时在共享首选项中设置一个标志,如果调用日志中有任何更改并且我们的共享首选标志为真,我们可以从呼叫日志中获取呼叫持续时间,以查看呼叫是否曾连接过:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM