- 浏览: 59365 次
- 性别:
- 来自: 成都
文章分类
最新评论
转载自:http://android.tgbus.com/Android/androidnews/200902/178074.shtml
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平台开放程度的确很厉害,你几乎可以调用任何底层的接口,甚至拦截到短信或者呼入电话。这些是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>
发表评论
-
TextView 的属性
2013-04-17 17:45 595收集到了TextView 的属性 ... -
ADT在线安装
2012-11-09 09:53 807注:转载自http://blog.csdn.net/kieve ... -
android 界面布局 很好的一篇总结 【转】
2012-04-26 15:24 961出处:http://www.cnblogs.com/awe ... -
android xml属性大全
2012-03-15 09:12 1054Android activity属性 android:all ... -
Android开发之屏幕大小自适应
2012-01-31 14:19 892屏幕大小: 一:不同的layout Android手机屏幕大小 ... -
Intent常用Uri
2012-01-21 09:37 837一、打开一个网页,类别是Intent.ACTION_VIEW ... -
android raw读取超过1M文件的方法
2011-11-01 15:48 861转载自:http://www.cnblogs.com/yaos ... -
Android Bitmap用法总结
2011-10-09 10:57 995转载自:http://blog.csdn.net/zhou69 ... -
Android之TextView------属性大全
2011-09-22 16:32 731android:autoLink设置是否当 ... -
Android内存泄漏简介
2011-09-09 16:28 837前言 不少人认为JAV ... -
Android的Parcel机制
2011-09-06 15:09 4051转载至:http://blog.csdn.net/caowen ... -
Android Context
2011-09-01 17:12 957在android中context可以作很多操作,但是最主要的功 ... -
android面试题
2011-06-27 11:57 10181.什么是Activity? 2.请描 ... -
android中的hdpi,ldpi,mdpi
2011-06-17 14:31 694Android2.1 和之后的版本 中的 drawable(h ... -
Android横竖屏
2011-06-08 11:22 883要解决的问题应该就两个: 一。布局问题; 二。重新载入问题。 ... -
Android软件权限知识普及
2011-05-27 11:08 888APK权限详细对照表 您的 ... -
Android调用WebService
2011-05-18 13:42 1102转载至:http://express.ruanko.com/r ... -
android实用代码片段
2011-05-06 10:58 7621. android获取到系统是24小时制还是12小时制 ... -
Android 应用程序退出的四种方法
2011-05-04 09:33 1512Android程序有很多Activi ... -
开发者不得不知的Android权限说明
2011-04-21 10:55 716程序执行需要读取到安全敏感项必需在androidmanifes ...
相关推荐
需要注意的是,这里声明的权限是`READ_CONTACTS`和`WRITE_CONTACTS`,而不是`READ_CALL_LOG`和`WRITE_CALL_LOG`,这是因为从Android 6.0(API级别23)开始,访问通话记录权限属于危险权限,需要在运行时动态请求。...
在Android平台上,通话记录是手机系统中不可或缺的一部分,它允许用户查看、管理他们的通话历史,包括未接电话、已接电话和已拨电话。这个"android项目通话记录源代码"正是针对这一需求提供了一个完整的解决方案。...
在Android平台上,开发人员可以利用系统的API来读取设备的通话记录。这个“Android Studio 3.2 读取通话记录源码”项目提供了一种方法来获取并展示用户的通话历史,包括联系人的姓名、电话号码、通话时间和通话类型...
在Android操作系统中,电话拨打和通话记录(call/calllog)是系统的核心功能之一,它涉及到许多组件和接口的交互。下面将详细解释这个过程,包括拨打电话的流程、通话记录的保存以及与系统服务的通信。 首先,当...
通过查看和运行这个项目,开发者可以更深入地理解Android通话记录的查询与删除操作。 总结来说,Android的通话记录操作主要依赖`CallLog`类和`ContentResolver`,通过声明相应权限,查询和删除通话记录变得简单。在...
在Android开发中,有时我们需要访问设备上的通话记录,例如实现拨号记录查询的功能。这通常涉及到对Android系统内部数据的访问和处理。根据提供的代码片段来看,它展示了如何通过Android系统的`ContentResolver`对象...
本文将深入探讨Android通话记录源码的相关知识点,帮助你理解如何在Android平台上构建一个能够读取、显示和管理通话记录的应用。 1. **AndroidManifest.xml**:这是每个Android应用的核心配置文件,它定义了应用的...
在Android平台上,开发一款通话记录应用需要对操作系统的基本架构、权限管理、数据库操作以及UI设计有深入的理解。这里我们主要探讨基于"Android应用源码之通话记录源码"的几个关键知识点。 首先,Android系统是...
访问Android通话记录的API介绍 Android提供了`CallLog`类来访问和操作通话记录。主要涉及到以下几个关键的类和方法: - **`CallLog.Calls`**:这是一个内部类,提供了与通话记录相关的常量。 - **`CallLog.Calls....
访问通话记录的数据源是`CallLog.Calls`表。以下是一般步骤: - 权限声明:在AndroidManifest.xml中添加`READ_CALL_LOG`权限。 - 查询通话记录:使用`ContentResolver.query()`,传入`CallLog.Calls.CONTENT_URI`...
在Android平台上,获取短信和通话记录信息是开发者常用于实现各种功能,如日志记录、安全监控或备份应用的关键操作。下面将详细讲解如何在Android系统中获取这些数据。 一、获取短信信息 1. 权限声明: 首先,为了...
- 由于涉及到用户隐私数据,访问通话记录需要在AndroidManifest.xml中声明相应的权限,如`<uses-permission android:name="android.permission.READ_CALL_LOG" />`。 7. **代码示例**: ```java private List, ...
短信则通过`SmsProvider`来管理,而通话记录则由`CallLog` Content Provider负责。自Android 4.4(KitKat)版本开始,出于安全考虑,插入短信的权限变得更加严格,一般的应用程序无法直接写入短信数据库,除非具有`...
在Android系统中,通话记录可以通过ContentProvider来访问。Android提供了`android.provider.CallLog`类,其中的`CallLog.Calls`内容提供者可以用来查询通话记录。在Unity中,我们需要创建一个Java层的插件,该插件...
此外,需要注意的是,从Android 9.0(Pie,API级别28)开始,系统对通话记录的访问进行了限制,只有默认的拨号器应用才能直接访问通话记录。对于非默认拨号器应用,开发者可能需要通过其他方式(如广播接收器监听...
在Android平台上,开发人员可以利用系统的API来获取设备上的通话记录和短信记录。"hqthdx"是一个可能的项目或库名,它专注于这个特定的功能。在这个源码中,开发者可能已经实现了一套完整的解决方案,使得其他应用...
在Android平台上,自定义通讯录应用的开发是一项常见的任务,尤其像360通话这样的应用,它们提供了丰富的功能,如内置联系人列表、通话记录显示以及定制化的拨号盘。以下将详细介绍如何实现这些功能。 1. **自定义...
在Android平台上,获取通话记录是一项常见的功能,通常用于开发通话管理类应用。本文将深入探讨如何在Android系统中读取通话记录,并将其显示为包含姓名、通话日期和通话时长的列表。 首先,我们需要理解Android的...
1. **运行时权限**:Android 6.0及以上版本,对于`危险权限`(如访问联系人、短信、通话记录等),应用需要在运行时请求用户授权,而不是在安装时一次性获取。这需要开发者在代码中添加权限检查和请求逻辑。 2. **...