我知道它对这个问题的回答很晚。但我今天遇到了它,并且有了一个想法,所以分享它。它可能会帮助将来访问该帖子的其他人。
我认为您可以在 PhoneStateListener 类的 onCallStateChanged 方法中检查上次通话的拨出通话时间。如果状态空闲,即 TelephonyManager.CALL_STATE_IDLE,则获取数据。
像这样的东西:
Cursor mCallCursor = context.getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,null,null,null,null);
int duration = mCallCursor.getColumnIndex( CallLog.Calls.DURATION);
while(mCallCursor.moveToFirst())
{
Toast.makeText(context, mCallCursor.getString(duration), Toast.LENGTH_LONG).show();
}
您可以在此处找到更多相关信息。我没有测试上面的代码。但这样的事情应该有效。
您可以查看时间是否为 00:00,电话未被接听。否则电话被接听。
希望这对您有所帮助。