获得某个电话的通话记录次数times

来源:互联网 发布:信用卡能买淘宝吗 编辑:程序博客网 时间:2024/05/02 02:11
 public static int getPhoneRecordTimes(Context mContext,String phoneNumber){
        Cursor cursor = mContext.getContentResolver().query(CallLog.Calls.CONTENT_URI,
                null, null, null, null);
        int times = 0;
        if(cursor.moveToFirst()){
            do{
                //CallLog calls =new CallLog();
                //呼叫类型
                String type;
                switch (Integer.parseInt(cursor.getString(cursor.getColumnIndex(CallLog.Calls.TYPE)))) {
                    case CallLog.Calls.INCOMING_TYPE:
                        type = "呼入";
                        break;
                    case CallLog.Calls.OUTGOING_TYPE:
                        //如果传过来的电话号码与检测系统中通话记录相同,则times+1
                        if(phoneNumber.equals(cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER)))){
                            times = times + 1;
                        }
                        type = "呼出";
                        break;
                    case CallLog.Calls.MISSED_TYPE:
                        type = "未接";
                        break;
                    default:
                        type = "挂断";
                        break;
                }
            }while(cursor.moveToNext());
       
            SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
            Date date = new Date(Long.parseLong(cursor.getString(cursor.getColumnIndexOrThrow(Calls.DATE))));
            //呼叫时间 
            String time = sfd.format(date); 
            //联系人 
            String name = cursor.getString(cursor.getColumnIndexOrThrow(Calls.CACHED_NAME)); 
            //通话时间,单位:s 
            String duration = cursor.getString(cursor.getColumnIndexOrThrow(Calls.DURATION)); 
        }
        return times;
    }
0 0
原创粉丝点击