保持Android通话记录清除某些号码

时间:2014-04-13 18:47:54

标签: android calllog

我想检测来电并从后台通话中删除某些号码。以下是我考虑过的选项。请告知这些或其他方面是否是更好/可行的解决方案。

  1. 注册手机状态广播接收器。从onReceive中的呼叫记录中删除号码。问题是此时呼叫记录可能尚未更新,因此删除无效。

  2. 注册手机状态广播接收器。在onReceive中以某种方式添加延迟并尝试在一段时间后删除调用日志。延迟将使系统有足够的时间来添加呼叫日志条目。这种做法对我来说似乎有些苛刻,并不热衷于此。

  3. 注册手机状态广播接收器。在onReceive寄存器内容观察者的通话记录。我的理解是,在接收之后,该过程可能随时被杀死,因此如果该过程被杀死,内容观察者onChange将不会被调用。

  4. 注册手机状态广播接收器。在onReceive中启动我的服务(如果尚未运行),然后注册了内容观察者。删除与内容观察者onChange中的某些数字匹配的呼叫日志条目。

  5. 谢谢,

1 个答案:

答案 0 :(得分:1)

选项4是一种完美的方式。 我建议您在完成工作后停止服务,并让广播接收器在需要时重新启动它。

编辑:您可能还注意到BroadcastReceiver仅用于执行一些小型或轻型工作,因此延迟不是此处的选项。 :)