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

如何在android中获取最近完成的电话通话详细信息?

如何在android中获取最近完成的电话通话详细信息?,android,phone-call,calllog,Android,Phone Call,Calllog,我想获得最近完成的android手机的通话详细信息,在获得这些详细信息后,我想在通话完成后开始我个人应用程序的新活动。基本上,我想先获取电话通话详细信息,然后再将这些详细信息放入android phone的目录/数据库。如何获取这些信息?首先,您需要授予从设备读取通话日志的权限 现在使用此方法获取最近的调用日志getCallDetails() 希望它能满足您的需要。我刚刚在一个文本视图中显示了所有通话记录,但您可以根据需要修改代码。:-)Rushabh这个密码给了我除了最近的电话以外的通话细节

我想获得最近完成的android手机的通话详细信息,在获得这些详细信息后,我想在通话完成后开始我个人应用程序的新活动。基本上,我想先获取电话通话详细信息,然后再将这些详细信息放入android phone的目录/数据库。如何获取这些信息?

首先,您需要授予从设备读取通话日志的权限

现在使用此方法获取最近的调用日志
getCallDetails()


希望它能满足您的需要。

我刚刚在一个文本视图中显示了所有通话记录,但您可以根据需要修改代码。:-)Rushabh这个密码给了我除了最近的电话以外的通话细节我是说,我想了解刚刚完成的电话通话的详细信息,其数据尚未保存到目录/数据库中。我想进行通话日志活动,在电话通话完成后显示对话框,以询问我自己应用程序的日志机制。因此,此代码未向我提供最近完成的电话通话详细信息,你对此有什么解决办法吗?我同意@VishalV,这不是答案我能理解你除了什么,你找到答案了吗?
private void getCallDetails() {

    StringBuffer sb = new StringBuffer();
    Cursor managedCursor = managedQuery( CallLog.Calls.CONTENT_URI,null, null,null, null);
    int number = managedCursor.getColumnIndex( CallLog.Calls.NUMBER ); 
    int type = managedCursor.getColumnIndex( CallLog.Calls.TYPE );
    int date = managedCursor.getColumnIndex( CallLog.Calls.DATE);
    int duration = managedCursor.getColumnIndex( CallLog.Calls.DURATION);
    sb.append( "Call Details :");

    while ( managedCursor.moveToNext() ) {
        String phNumber = managedCursor.getString( number );
        String callType = managedCursor.getString( type );
        String callDate = managedCursor.getString( date );
        Date callDayTime = new Date(Long.valueOf(callDate));
        String callDuration = managedCursor.getString( duration );
        String dir = null;
        int dircode = Integer.parseInt( callType );

        switch( dircode ) {
            case CallLog.Calls.OUTGOING_TYPE:
                dir = "OUTGOING";
            break;

            case CallLog.Calls.INCOMING_TYPE:
                dir = "INCOMING";
            break;

            case CallLog.Calls.MISSED_TYPE:
                dir = "MISSED";
            break;
        }

        sb.append( "\nPhone Number:--- "+phNumber +" \nCall Type:--- "+dir+" \nCall Date:--- "+callDayTime+" \nCall duration in sec :--- "+callDuration );
        sb.append("\n----------------------------------");
    }
    managedCursor.close();
    call.setText(sb);
}