查询手机的通话记录
2015-10-08 17:28
417 查看
第一种方法:
第二种方法:
<!-- 读取联系人时的权限 -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<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" />
相关文章推荐
- [Android-Camera] If there is no flash setting option in Android stock camera apk, find the code and change it.
- C++ 设置自动启动
- Go语言学习笔记、Go和C++区别
- QT在子线程中使用QAxWidget需要初始化COM的问题
- QEMU-KVM中关键的入口代码以及意义(不断更新中)
- SQL中的大小写、trim()、Having()、to_date() 和 to_char()、top
- SQLite3
- 遇到MySQL server has gone away的问题
- C++学习笔记3 - 处理数据
- JAVA eclipse 字体的大小正确调整步骤
- 使用dotween的sequnce动画
- Qt之日志输出窗口
- 从 bcp 客户端收到一个对 colid x 无效的列长度。
- 文档地址收藏
- 无法在Android Studio中设置断点
- 欢迎使用CSDN-markdown编辑器
- superoj887 set
- Algorithms—89.Gray Code
- Qrcode生成二维码(logo篇)之jquery.qrcode.min.js
- .msi是什么文件呀?