使用广播侦听器在通话结束后从通话记录中获取通话持续时间



我需要尝试在通话结束后获取通话持续时间。我有一个广播侦听器,它使用电话管理器跟踪电话状态,即"摘机","空闲"等等。使用此接收器,我可以找出何时完成拨出呼叫。完成呼叫后,我启动一个服务来获取上次调用的呼叫持续时间。但是,我得到的值是上一次调用的值,而不是刚刚完成的值。我想我甚至在电话更新之前就从通话记录数据库中获取。因为如果我稍后调用相同的函数并获取值,它会给我正确的时间。我应该在启动服务之前以某种方式延迟吗?如果是,如何延迟以及延迟多少?

我想出了怎么做。我确保从呼叫日志中获取的服务在呼叫结束后大约 2 秒启动。这样,我得到正确的值,而不是以前的通话持续时间值,因为那时通话记录已经更新。

最新更新