访问android平台的通话记录CallLog

转载 2012年03月30日 09:51:54
Android平台开放程度的确很厉害,你几乎可以调用任何底层的接口,甚至拦截到短信或者呼入电话。这些是J2ME平台无法比拟的。本文介绍一下如何访问android的通话记录。

  android平台上的通话记录是以Content Provider的形式存储在手机上的,因此你需要使用ContentResolver来查询通话记录,返回Cursor接口。如下所示:

package com.me;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.CallLog;
import android.widget.SimpleAdapter;
import android.widget.SimpleCursorAdapter;

public class CallLogActivity extends ListActivity {

 @Override
 protected void onCreate(Bundle arg0) {
  super.onCreate(arg0);
  setContentView(R.layout.main);
  Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI,
    null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);
  startManagingCursor(cursor);
  SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
    android.R.layout.simple_list_item_1, cursor,
    new String[] { CallLog.Calls.NUMBER },
    new int[] { android.R.id.text1 });

  setListAdapter(adapter);
 }

}

  获得了Cursor之后便可以构建一个Adapter然后调用setListAdapter()来把通话记录显示在屏幕上。CallLog类中定义了Calls类,在android中可以看到大量的内部类的设计。Calls定义了很多常量,方便你来访问通话记录,主要包括两个URI和多个字段定义,比如我们在这里用到的NUMBER。更多内容请参考Andorid doc。

  下面是/res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
     android:layout_height="fill_parent">
   
    <ListView android:id="@+id/android:list"
          android:layout_width="fill_parent"
         android:layout_height="fill_parent"/>
   <TextView android:id="@+id/android:empty"
          android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:text="No Notes!"/>
</LinearLayout>


相关文章推荐

访问android平台的通话记录CallLog

Android平台开放程度的确很厉害,你几乎可以调用任何底层的接口,甚至拦截到短信或者呼入电话。这些是J2ME平台无法比拟的。本文介绍一下如何访问android的通话记录。   android平...

Android ContentResolver CallLog 获取手机通话记录

获取手机通话记录流程:1、 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2、resolv...

Android通话记录CallLog简单摘要

最近做些和通讯相关的东西,正好梳理下流程,以备不需之用;俗话说得好“好脑子比不了烂笔头”;...

Android通话记录查看管理源码

  • 2013年07月26日 23:34
  • 80KB
  • 下载

android 获得通话记录

  • 2014年09月29日 00:24
  • 1KB
  • 下载

Android中联系人和通话记录详解(1)

由于项目开发需要用到手机联系人和通话记录的详细信息,于是对联系人和通话记录的表及各字段以及具体实现做了详细分析。     首先,通过模拟器或者Root过的手机,在/data/data/com.andr...

android 获取短信和通话记录信息

  • 2013年12月01日 17:25
  • 1.41MB
  • 下载

android通话记录的查询与删除

  • 2016年07月31日 18:56
  • 1.41MB
  • 下载

android 通话记录和联系人查询

呼叫记录有三种类型: 来电:CallLog.Calls.INCOMING_TYPE (常量值:1) 已拨:CallLog.Calls.OUTGOING_TYPE(常量值:2) 未接:CallL...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:访问android平台的通话记录CallLog
举报原因:
原因补充:

(最多只允许输入30个字)