Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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_Call_Calllog - Fatal编程技术网

Android 上次拨出通话时长

Android 上次拨出通话时长,android,call,calllog,Android,Call,Calllog,我有一个广播侦听器,它查找任何传出呼叫,然后在传出呼叫完成后启动服务。事情在服务中,我需要尝试获取最后一次呼叫的持续时间。我尝试使用该查询查询CallLog.Calls.CONTENT\u URI Cursor s = r.query(android.provider.CallLog.Calls.CONTENT_URI, null, null, null,CallLog.Calls.DATE + " DESC"); 我要找的只是最后一次通话的持续时间。我两个都试过了,s.moveToFirst

我有一个广播侦听器,它查找任何传出呼叫,然后在传出呼叫完成后启动服务。事情在服务中,我需要尝试获取最后一次呼叫的持续时间。我尝试使用该查询查询CallLog.Calls.CONTENT\u URI

Cursor s = r.query(android.provider.CallLog.Calls.CONTENT_URI, null, null, null,CallLog.Calls.DATE + " DESC");
我要找的只是最后一次通话的持续时间。我两个都试过了,
s.moveToFirst()
s.moveToLast()。但不知何故,我无法获得与最后一个传出呼叫的持续时间相对应的正确值。我试着获得持续时间

int duration=s.getColumnIndex(android.provider.CallLog.Calls.DURATION);
String Duration=s.getString(duration);

我是不是错过了什么?我怎样才能单独获得最后一次通话的持续时间?由于该服务仅在传出呼叫后启动,因此我不必在此处检查呼叫类型。

将字段
CallLog.Calls.DURATION
添加到数组中


看看这个

很抱歉,我不知道要将它添加到哪个数组。使用s.getColumnIndex(android.provider.CallLog.Calls.DURATION);,我从calllog数据库中获取某个持续时间值,但我只需要最后一次调用的持续时间。简言之,我在这里寻找的是,在查询数据库时,排序顺序应该是什么,以及光标应该移动到第一个还是最后一个,以获取最后一次调用的持续时间。