Android获取通话记录

Android中获取手机中的通话记录还是挺简单的.可以通过content provide来直接获取数据库中的内容...

注:该代码需要用到上下文context..

Cursor cursor = context.getContentResolver().query(CallLog.Calls.CONTENT_URI,                            
		null, null, null, null);                                                                                                 
if(cursor.moveToFirst()){                                                                                
	do{                                                                                                  
		CallsLog calls =new CallsLog();                                                                  
		//号码                                                                                             
		String number = cursor.getString(cursor.getColumnIndex(Calls.NUMBER));                           
		//呼叫类型                                                                                           
		String type;                                                                                     
		switch (Integer.parseInt(cursor.getString(cursor.getColumnIndex(Calls.TYPE)))) {                 
		case Calls.INCOMING_TYPE:                                                                        
			type = "呼入";                                                                                 
			break;                                                                                       
		case Calls.OUTGOING_TYPE:                                                                        
			type = "呼出";                                                                                 
			break;                                                                                       
		case Calls.MISSED_TYPE:                                                                          
			type = "未接";                                                                                 
			break;                                                                                       
		default:                                                                                         
			type = "挂断";//应该是挂断.根据我手机类型判断出的                                                              
			break;                                                                                       
		}                                                                                                
		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));                
		
	}while(cursor.moveToNext());                                                                         
	                                                                                                     
}

转载于:https://my.oschina.net/yyplayer/blog/130077

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值