android短信记录,Android下如何获得通话记录和短信记录

1.获得通话记录:

private void getCallHistory() {

Call call = null;

Cursor cursor = this.getActivity().getContentResolver()

.query(CallLog.Calls.CONTENT_URI, null, null, null, null);

if (cursor.getCount() <= 0) {

return;

}

cursor.moveToFirst();

do {

call = new Call();

/* Reading Name */

String nameTemp = cursor.getString(cursor

.getColumnIndex(CallLog.Calls.CACHED_NAME));

if (nameTemp == null) {

nameTemp = "";

}

if ("".equals(nameTemp)) {

call.name = "";

} else {

call.name = nameTemp;

}

/* Reading Date */

call.date = cursor.getLong(cursor

.getColumnIndex(CallLog.Calls.DATE));

/* Reading duration */

call.duration = cursor.getLong(cursor

.getColumnIndex(CallLog.Calls.DURATION));

/* Reading Date */

call.type = cursor

.getInt(cursor.getColumnIndex(CallLog.Calls.TYPE));

call.phoneNumber = cursor.getString(cursor

.getColumnIndex(CallLog.Calls.NUMBER));

calls.add(call);

} while (cursor.moveToNext());

}

2. 获得短信记录

private void getAllSms() {

ContentResolver cr = this.getActivity().getContentResolver();

Uri uri = Uri.parse("content://sms/");

Message message = null;

messages.clear();

Cursor c = cr.query(uri, null, null, null, null);

int totalSms = c.getCount();

if (totalSms <= 0) {

return;

}

if (c.moveToFirst()) {

for (int i = 0; i < totalSms; i++) {

message = new Message();

if (c.getString(

c.getColumnIndexOrThrow(Telephony.Sms.Inbox.TYPE))

.contains("1")) {

message.type = "inbox";

} else {

message.type = "send";

}

// message.phoneNumber = c.getString(c

// .getColumnIndexOrThrow(Telephony.Sms.Inbox.ADDRESS));

message.phoneNumber = c.getString(c

.getColumnIndexOrThrow("address"));

message.name = getNameByPhoneNumber(cr, message.phoneNumber);

messages.add(message);

c.moveToNext();

}

}

c.close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值