在Android中调用结束侦听器

时间:2011-05-06 13:24:33

标签: android calllog contentobserver

我正在开发一个应用程序,我在其中存储来自CallLog提供程序的调用日志详细信息。

Android将调用日志存储在数据库中,我正在从该数据库中复制新行。

现在我想在用户结束通话时复制通话详情。为此,我使用了PhoneStateListener,我用它来监听状态响铃,摘机和空闲模式 但是在调用结束后,idle方法调用了不止一次,所以我不能使用它。

其次我使用ContentObserver作为调用日志表,当Android在其中插入调用详细信息时,它会给我onChanged事件,那时我会将这些详细信息复制到我的数据库中。

这是使用ContentObserver的正确方法吗? 有没有其他方法可以获得刚刚结束的新电话的详细信息?

1 个答案:

答案 0 :(得分:5)

这听起来像是对ContentObserver的有效使用。先前的尝试是:Intent to be fired when a call ends?

我建议您使用idle方法,只需跟踪数据库或变量或首选项中的状态(因此,当手机从OFFHOOK变为IDLE时,您知道呼叫已结束,但当它从IDLE变为IDLE时,那么您什么都不做。)

祝你好运。