您的位置:首页 > 其它

查询手机的通话记录

2015-10-08 17:28 417 查看
第一种方法:

<span style="font-size:18px;background-color: rgb(255, 204, 204);">Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI,
null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);
StringBuffer sb = new StringBuffer();
if (cursor != null) {
while (cursor.moveToNext()) {
// 号码
// 名字
// 类型
// 通话时间
// CallLog.Calls.NUMBER)
// CallLog.Calls.CACHED_NAME
// CACHED_NUMBER_TYPE
// CallLog.Calls.DATE
// 来电:1,拨出:2,未接:3
// public static final int INCOMING_TYPE = 1;
// public static final int OUTGOING_TYPE = 2;
// public static final int MISSED_TYPE = 3;
String number = cursor.getString(cursor
.getColumnIndex(CallLog.Calls.NUMBER));
String name = cursor.getString(cursor
.getColumnIndex(CallLog.Calls.CACHED_NAME));
int type = cursor.getInt(cursor
.getColumnIndex(CallLog.Calls.CACHED_NUMBER_TYPE));
String dateStr = cursor.getString(cursor
.getColumnIndex(CallLog.Calls.DATE));
Date date = new Date(Long.parseLong(dateStr));
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
String time = sdf.format(date);
long duration = cursor.getLong(cursor
.getColumnIndex(CallLog.Calls.DURATION));
sb.append(number).append(" ").append(name).append(" ")
.append(type).append(" ").append(time).append(" ")
.append(duration).append(";");
}
show.setText(sb.toString());
cursor.close();
}</span>


第二种方法:

<span style="font-size:18px;background-color: rgb(255, 204, 153);">String strNumber, strName = "";
int type;
long callTime;
Date date;
String time = "";
ContentResolver cr = getContentResolver();
final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI,
new String[] { CallLog.Calls.NUMBER, CallLog.Calls.CACHED_NAME,
CallLog.Calls.TYPE, CallLog.Calls.DATE,
CallLog.Calls.DURATION }, null, null,
CallLog.Calls.DEFAULT_SORT_ORDER);
cursor.moveToPosition(0);
strNumber = cursor.getString(0); // 呼叫号码
strName = cursor.getString(1); // 联系人姓名
type = cursor.getInt(2);
long duration = cursor.getLong(4);
SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
date = new Date(Long.parseLong(cursor.getString(3)));
time = sfd.format(date);</span>


<!-- 读取联系人时的权限 -->

<uses-permission android:name="android.permission.READ_CONTACTS" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: