Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的呼叫端监听器_Android_Calllog_Contentobserver - Fatal编程技术网

Android中的呼叫端监听器

Android中的呼叫端监听器,android,calllog,contentobserver,Android,Calllog,Contentobserver,我正在开发一个应用程序,其中存储来自CallLog提供者的呼叫日志详细信息 Android将调用日志存储在数据库中,我正在从该数据库复制新行 现在我想在用户结束通话时复制通话详细信息。为此,我使用了PhoneStateListener,用于监听状态铃声、摘机和空闲模式 但是在调用结束后,idle方法会多次调用,所以我不能使用它 其次,我使用了调用日志表的ContentObserver,当Android在其中插入调用细节时,它会给我一个onChanged事件,当时我会将这些细节复制到我的数据库中

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

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

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

其次,我使用了调用日志表的
ContentObserver
,当Android在其中插入调用细节时,它会给我一个onChanged事件,当时我会将这些细节复制到我的数据库中

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

这听起来像是对
ContentObserver
的有效使用。在此之前对此的尝试:

我建议您使用idle方法,只需跟踪数据库、变量或首选项中的状态(因此,无论何时,只要手机从OFFHOOK转到idle,您就知道通话结束,但当它从idle转到idle,您就什么也不做了)

祝你好运