1、第一步:安卓手机通话记录是哪个文件
/data/data/com.android.providers.contacts/databases/contacts2.db
手机
Root
后,用
RE
管理器查看这个
SQLite
数据库文件。
如果是来电记录,在这个数据库的
call
表里。
2、第二步:不获取root权限的情况下查看通话记录
(1)manifest.xml配置相应权限
(2)代码实现
public classUtil {
/**
* 利用系统CallLog获取通话历史记录
* @return
*/
@SuppressLint("SimpleDateFormat")
public static StringgetCallHistoryList(Context context, ContentResolver cr){
Cursorcs;
cs=cr.query(CallLog.Calls.CONTENT_URI, //系统方式获取通讯录存储地址
new String[]{
CallLog.Calls.CACHED_NAME, //姓名
CallLog.Calls.NUMBER, //号码
CallLog.Calls.TYPE, //呼入/呼出(2)/未接
CallLog.Calls.DATE, //拨打时间
CallLog.Calls.DURATION //通话时长
},null,null,CallLog.Calls.DEFAULT_SORT_ORDER);
StringcallHistoryListStr="";
int i=0;
if(cs!=null &&cs.getCount()>0){
for(cs.moveToFirst();!cs.isAfterLast() & i<50; cs.moveToNext()){
StringcallName=cs.getString(0);
StringcallNumber=cs.getString(1);
//通话类型
int callType=Integer.parseInt(cs.getString(2));
StringcallTypeStr="";
switch (callType) {
case CallLog.Calls.INCOMING_TYPE:
callTypeStr="呼入";
break;
case CallLog.Calls.OUTGOING_TYPE:
callTypeStr="呼出";
break;
case CallLog.Calls.MISSED_TYPE:
callTypeStr="未接";
break;
}
//拨打时间
SimpleDateFormatsdf= newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DatecallDate=newDate(Long.parseLong(cs.getString(3)));
StringcallDateStr=sdf.format(callDate);
//通话时长
int callDuration=Integer.parseInt(cs.getString(4));
int min=callDuration/60;
int sec=callDuration%60;
StringcallDurationStr=min+"分"+sec+"秒";
StringcallOne="类型:" + callTypeStr + ", 称呼:" + callName + ", 号码:"
+callNumber + ", 通话时长:" + callDurationStr + ", 时间:" + callDateStr
+"\n---------------------\n";
callHistoryListStr+=callOne;
i++;
}
}
return callHistoryListStr;
}
}
(3)使用
TextViewtv_callHistory=(TextView) getView().findViewById(R.id.id_tv_content1);
tv_callHistory.setText("通讯记录");
//获取通话记录
ContentResolvercr;
cr=getActivity().getContentResolver();
StringcallHistoryListStr=Util.getCallHistoryList(null, cr);
tv_callHistory.setTextSize(12.0f);
tv_callHistory.setText(callHistoryListStr);
如果觉得《android获取电话通话记录 Android获取手机通话记录》对你有帮助,请点赞、收藏,并留下你的观点哦!