http://stackoverflow.com/questions/6786666/how-do-i-access-call-log-for-android

http://android2011dev.blogspot.in/2011/08/get-android-phone-call-historylog.html

How do I access call log for android?

http://developer.android.com/reference/android/provider/CallLog.Calls.html

First you need to give the permission to read call logs from the device.

<uses-permission android:name="android.permission.READ_CONTACTS" />

Now use this method to get the recent call logs getCallDetails()

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+" \n
Call duration in sec :--- "+callDuration );
sb.append("\n----------------------------------");
 } managedCursor.close(); call.setText(sb); }

Android 通话记录分析

private static String getCallDetails(Context context) {    StringBuffer stringBuffer = new StringBuffer();    Cursor cursor = context.getContentResolver().query(CallLog.Calls.CONTENT_URI,            null, null, null, CallLog.Calls.DATE + " DESC");    int number = cursor.getColumnIndex(CallLog.Calls.NUMBER);    int type = cursor.getColumnIndex(CallLog.Calls.TYPE);    int date = cursor.getColumnIndex(CallLog.Calls.DATE);    int duration = cursor.getColumnIndex(CallLog.Calls.DURATION);           while (cursor.moveToNext()) {        String phNumber = cursor.getString(number);        String callType = cursor.getString(type);        String callDate = cursor.getString(date);        Date callDayTime = new Date(Long.valueOf(callDate));        String callDuration = cursor.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;        }        stringBuffer.append("\nPhone Number:--- " + phNumber + " \nCall Type:--- "                + dir + " \nCall Date:--- " + callDayTime                + " \nCall duration in sec :--- " + callDuration);        stringBuffer.append("\n----------------------------------");    }    cursor.close();    return stringBuffer.toString();}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. (lintcode)第12题带最小值操作的栈
  2. (lintcode)第29题交叉字符串
  3. (lintcode)第13题字符串的查找
  4. (lintcode)第336题斐波那契数列
  5. 懒加载作业
  6. 进程与线程 - 入门知识篇
  7. SpringBoot中的自动代码生成 - 基于Mybat
  8. rsync实现服务器数据同步备份
  9. NoSQL Memcached
  10. 2018年5大微服务发展趋势