查看电话记录---CallLog.Calls.CONTENT_URI

查看电话记录---CallLog.Calls.CONTENT_URI 

CallLog.Calls.CACHED_NAME查询的联系人名字

CallLog.Calls.TYPE电话类型,

CallLog.Calls.NUMBER电话号码

CallLog.Calls.DATE电话日期

(注意:CallLog.Calls.TYPE电话类型的取值 来电:1,拨出:2,未接:3

 CallLog.Calls.DATE日期返回时毫秒值要处理

 

SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd "

             + "hh:mm:ss");

      Date dates = new Date(Long.parseLong(date));

      String time=simple.format(dates);

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

for (int i = 0; i < cursor.getCount(); i++) {  

  cursor.moveToPosition(i);  

//注意,如果数据表里面有一个字段:type,查询的时候,若没有设置要查type,那么在cursor里面读type的数据时候就会出现找不到列:type  

//读取数据可以理解是从cursor里面读的,当初你没查type这个字段,查询结果里面没有type的数据,当然cursor里面也就没有了  

  if(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME))== null){  

   item.add("联系人列表无此记录");  

  }else{  

   item.add(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME)));  

  }        

  item_2.add(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.NUMBER)));  

 } 

 

或者

          ContentResolver cr = getContentResolver();

          String[] projects = new String[] { CallLog.Calls.NUMBER,

                     CallLog.Calls.CACHED_NAME, CallLog.Calls.TYPE,

                     CallLog.Calls.DATE };

          cursor = cr.query(CallLog.Calls.CONTENT_URI, projects, null, null,

                     CallLog.Calls.DEFAULT_SORT_ORDER);

          List<Map<String, String>> list = new ArrayList<Map<String, String>>();

          while (cursor.moveToNext()) {

                Map<String, String> map = new HashMap<String, String>();

                map.put("num", "Phone: " + cursor.getString(0));

                if (cursor.getString(1) == null) {

                     map.put("name", "");

                } else {

                     map.put("name", cursor.getString(1));

                }

                map.put("date", alterDate(cursor.getString(3)));

         ursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))

                if (cursor.getString(2).equals("1")) {             

                     map.put("state","");

                     list.add(map);

                }

          }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值