Android语音通话记录

Mar*_*k B 4 java android android-manifest

我想通知任何传入和传出语音呼叫的代码。我需要掌握以下所有内容:

  • 如果是来电或去电
  • 拨打的号码或来电显示的电话号码
  • 通话时长,或者如果错过了通话

如果电话号码与电话的联系人列表中的某人匹配,如果我可以获得更多的联系信息(特别是联系人姓名),那也将非常有帮助。

通话结束后,我需要我的代码来获取这些信息。也许我只是没有在寻找正确的术语,但是我很难找到如何实现此目标的任何示例。

如果有人可以提供一个实现此目的的代码示例,以及清单文件中所需的权限和任何类型的广播接收器设置,那将是非常不错的。

Chr*_*Orr 5

android.intent.action.NEW_OUTGOING_CALL通过android.permission.PROCESS_OUTGOING_CALLS在清单中设置权限,您应该能够通过侦听广播事件来直接观看去电。

我认为这应该适用于其他设备。至少在我的HTC Hero上,这给了我Intent很多附加功能,包括被呼叫的电话号码,联系人的姓名以及联系人的URI和被呼叫的个人号码。

至于获得有关来电或未接来电(乃至呼出电话)的完整信息,我相信Mark提到的解决方案是监视CallLog内容提供者的更改,或者在PhoneStateListener触发相关事件后进行轮询。