我正在尝试拨打电话的最后一个拨出电话。
这是简短的代码。
Uri contacts = CallLog.Calls.CONTENT_URI;
Cursor managedCursor = mContext.getContentResolver().query(
contacts, null, null, null, null);
int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
if (managedCursor.moveToLast()) {
String callDuration = managedCursor.getString(duration);
}
其中callDuration以秒为单位给出总呼叫持续时间。 它适用于Build版本sdk小于21(LOLLIPOP)。但是在基于棒棒糖的版本手机中报告了错误的通话时间。这不是拨打电话的确切持续时间。
例如:如果通话开始时间是12:00:00,通话结束时间是12:00:30(总通话时长=响铃时间+应答时长) 并且实际呼叫持续时间为20秒(应答持续时间),但基于棒棒糖的电话显示总呼叫持续时间,即30秒,当用户尝试拨出呼叫并且呼叫未应答/连接仍然持续时间显示时误导(CallEndTime-CallStartTime),以秒为单位。
在android开放问题跟踪器中报告相同。仍未找到解决方案/周转时间。