Android获取通话记录【名称,号码,日期,通话时间,类型】
16lz
2021-12-09
Android获取通话记录[名称,号码,日期,通话时间,类型]
/** * 得到所属'列'后,记住这些值,访问数据库的速度可以提高两倍 */ public static final int CACHED_NAME=16; public static final int NUMBER=0; public static final int DATE=6; public static final int DURATION=7; public static final int TYPE=22; public ListgetCallList(Context context) { Cursor cursor = context.getContentResolver() .query(CallLog.Calls.CONTENT_URI, null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER); if (cursor.getCount() <= 0) { return null; } List list = new ArrayList<>(); while (cursor.moveToNext()) { CallPO call = new CallPO(); /* Reading Name */ /**int a=cursor.getColumnIndex(CallLog.Calls.CACHED_NAME);*/ String nameTemp = cursor.getString(CACHED_NAME); if (nameTemp==null||nameTemp.length()==0) { call.setDisplay_name("未知"); } else { call.setDisplay_name(nameTemp); } /**int b=cursor.getColumnIndex(CallLog.Calls.NUMBER);*/ call.setNumber(cursor.getString(NUMBER)); /* Reading Date */ /**int c=cursor.getColumnIndex(CallLog.Calls.DATE);*/ String date= DateUtil.timedate(cursor.getString(DATE)); call.setDate(date); /* Reading duration */ /** int d=cursor.getColumnIndex(CallLog.Calls.DURATION);*/ call.setDuration(cursor.getString(DURATION)+"秒"); /* Reading Date */ /** * 1.已接 * 2.已拨 * 3.未接 */ /**int e=cursor.getColumnIndex(CallLog.Calls.TYPE);*/ int type=cursor.getInt(TYPE); String result=""; switch (type) { case CallLog.Calls.INCOMING_TYPE: result = "已接"; break; case CallLog.Calls.OUTGOING_TYPE: result = "已拨"; break; case CallLog.Calls.MISSED_TYPE: result = "未接"; break; default: break; } call.setType(result); list.add(call); } cursor.close(); return list; }
public class CallPO { private String display_name; private String number; private String date; private String duration; private String type; public String getDisplay_name() { return display_name; } public void setDisplay_name(String display_name) { this.display_name = display_name; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getDuration() { return duration; } public void setDuration(String duration) { this.duration = duration; } public String getType() { return type; } public void setType(String type) { this.type = type; }}
更多相关文章
- 获取手机安装的全部应用的示例教程
- struts2中获取request、response,与android客户端进行交互
- Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
- android和j2me之清屏(clearScreen)
- Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
- android 获取唯一标识
- android拍照与读取相册