3

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

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

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

其次,我用于ContentObserver通话记录表,当 Android 在其中插入通话详细信息时,它给了我 onChanged 事件,当时我将这些详细信息复制到我的数据库中。

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

4

1 回答 1

6

这听起来像是对ContentObserver. 对此的先前尝试是:Intent to be fire when a call end? .

我建议您使用 idle 方法并简单地跟踪数据库或变量或首选项中的状态(因此,每当电话从 OFFHOOK 变为 IDLE 时,您就知道通话结束,但是当它从 IDLE 变为 IDLE 时,您什么也不做) .

祝你好运。

于 2011-05-06T14:05:31.843 回答