摘自:http://blog.csdn.net/qiaoning13256/article/details/6889315
/**
* 获得收藏夹的联系人
*/
private void getKeepedContacts(){
Cursor cur = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.STARRED + " = 1 " , null, null);
startManagingCursor(cur);
int num = cur.getCount();
System.out.println(num + "");
int count = 0;
while (cur.moveToNext()) {
count ++;
long id = cur.getLong(cur.getColumnIndex("_id"));
Cursor pcur = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="
+ Long.toString(id), null, null);
// 处理多个号码的情况
String phoneNumbers = "";
while (pcur.moveToNext()) {
String strPhoneNumber = pcur
.getString(pcur
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
phoneNumbers += strPhoneNumber + ":";
}
phoneNumbers += "\n";
pcur.close();
String name = cur.getString(cur.getColumnIndex("display_name"));
contactNameList.add(name);
contactNumList.add(phoneNumbers);
}
cur.close();
}
/**
* 添加到收藏夹
* @param _id
*/
@SuppressWarnings("deprecation")
private void addKeepedContacts(long _id){
ContentResolver contentResolver = ContactActivity.this.getContentResolver();
Cursor cusor = null;
@SuppressWarnings("deprecation")
String[] projection = new String[] { Contacts.People._ID, Contacts.People.NAME, Contacts.People.NUMBER };
cusor = contentResolver.query(Contacts.People.CONTENT_URI, projection, Contacts.People._ID + "=?", new String[] { _id + "" }, Contacts.People.NAME + " ASC");
cusor.moveToFirst();
ContentValues values = new ContentValues();
Uri uri = Uri.withAppendedPath(Contacts.People.CONTENT_URI, cusor.getString(cusor.getColumnIndex(Contacts.People._ID)));
// values.put(Contacts.People.NAME, newName);
values.put(Contacts.People.STARRED, 1);
// values.put(Contacts.Phones.NUMBER, newPhoneNum);
contentResolver.update(uri, values, null, null);
Toast.makeText(ContactActivity.this, ContactActivity.this.getResources().getString(R.string.add_succeed), Toast.LENGTH_SHORT).show();
}
/**
* 从收藏夹中移出
* @param _id
*/
@SuppressWarnings("deprecation")
private void removeKeepedContacts(long _id){
ContentResolver contentResolver = ContactActivity.this.getContentResolver();
Cursor cusor = null;
@SuppressWarnings("deprecation")
String[] projection = new String[] { Contacts.People._ID, Contacts.People.NAME, Contacts.People.NUMBER };
cusor = contentResolver.query(Contacts.People.CONTENT_URI, projection, Contacts.People._ID + "=?", new String[] { _id + "" }, Contacts.People.NAME + " ASC");
cusor.moveToFirst();
ContentValues values = new ContentValues();
Uri uri = Uri.withAppendedPath(Contacts.People.CONTENT_URI, cusor.getString(cusor.getColumnIndex(Contacts.People._ID)));
// values.put(Contacts.People.NAME, newName);
values.put(Contacts.People.STARRED, 0);
// values.put(Contacts.Phones.NUMBER, newPhoneNum);
contentResolver.update(uri, values, null, null);
new getKeepedContactsTask().execute((Void)null);
Toast.makeText(ContactActivity.this, ContactActivity.this.getResources().getString(R.string.remove_succeed), Toast.LENGTH_SHORT).show();
}
分享到:
相关推荐
在Android平台上实现一个收藏夹应用,涉及到多个关键知识点,包括数据存储、用户界面设计、事件处理等。下面将详细介绍这些核心概念。 1. **数据存储**:在Android中,收藏夹的数据通常需要持久化存储,以便用户在...
在Android开发中,获取联系人、SIM卡信息以及最近联系人列表是常见的需求。下面将详细解释这些概念和实现方式。 一、Android联系人管理 Android系统提供了ContentProvider接口来访问和操作联系人数据。主要涉及到...
在Android平台上,获取系统联系人和发送短信是两个常见的功能,常常被用于开发社交或通讯类应用程序。这个“Android 获取系统联系人并发送短信demo”应该是提供了一个示例代码,帮助开发者理解如何实现这两个功能。...
在Android平台上,获取联系人列表是一项常见的功能,它允许应用访问用户的通讯录数据,以便进行如发送短信、拨打电话或实现社交功能等操作。在这个"Android获取联系人列表Demo"中,我们将深入探讨如何实现这一功能。...
在Android平台上,获取通讯录联系人信息是常见的需求,尤其对于开发涉及社交功能的应用来说更是必不可少。本示例源码提供了实现这一功能的方法,帮助开发者深入理解如何在Android应用中读取并操作用户通讯录数据。 ...
在Android应用开发中,访问和显示本地联系人是常见的需求,比如在社交应用或者通讯录类应用中。本文将详细讲解如何实现加载本地联系人到应用程序,并展示一个基本的UI设计示例。 首先,我们需要创建一个布局文件来...
在这个项目中,我们将深入探讨如何在Android Studio中获取手机联系人,并执行发送短信、拨打电话以及对联系人进行增删改的操作。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限声明,这是进行任何涉及...
这个项目,"基于android studio的读取联系人并可点击拨打电话",显然是一个教学或示例项目,它借鉴了郭霖的畅销书《第一行代码》中的方法。下面将详细讲解如何实现这一功能。 首先,我们需要了解Android的权限管理...
在Android平台上,开发人员可以利用系统的API来读取用户的联系人数据。这通常涉及到权限管理、ContentResolver的使用以及Cursor的遍历等关键知识点。以下是对这个"android读取系统联系人"主题的详细讲解: 1. **...
在Android应用开发中,获取单个通讯录联系人信息并分享内容,如短信邀请,是一项常见的功能需求。这个过程涉及到Android系统的权限管理、联系人数据的读取以及内容分享等核心知识点。以下将详细讲解这些内容。 首先...
在Android平台上,添加联系人是一项常见的任务,尤其对于开发者来说,理解如何操作联系人数据库是必要的。本教程将深入探讨如何通过编程方式在Android设备上添加联系人。 首先,我们需要了解Android系统的联系人...
这篇教程将深入探讨如何在Android应用中获取联系人信息、通话记录以及短信消息。首先,我们来了解一下基本概念。 1. **获取联系人信息**: Android提供了一套完整的API来访问和操作联系人数据。主要涉及`...
在Android开发中,构建一个联系人列表是常见的需求,它涉及到UI设计、数据获取和处理等多个方面。本篇文章将深入探讨如何实现一个“Android电话联系人页面布局”以及相关的代码实现。 首先,我们需要理解Android的...
在Android系统中,联系人应用是用户日常交互的重要部分,其功能包括添加、编辑和查找联系人等。本文将深入探讨如何实现一个全特效的联系人应用,特别是字母表快速滚动的功能,使得用户能快速定位到特定联系人的名字...
在Android平台上,开发一款联系人管理应用是一项常见的任务,它涉及到Android系统的核心功能之一——联系人API的使用。本项目“android平台联系人管理应用源码+项目”提供了一个可以直接运行的实例,对于学习和理解...
为了读取联系人数据,我们需要获取到对应的ContentResolver对象,它是Android系统中用于操作内容提供者(如联系人数据)的接口。通过ContentResolver,我们可以使用`query()`方法来执行SQL-like查询,获取联系人列表...
Android如何获取手机联系人信息,本文为大家揭晓。 获取手机联系人信息步骤: 1、获取 ContentResolver ContentResolver resolver = getContentResolver(); 2、resolver.query(*)查询信息 查询手机联系人的URI...
在Android开发中,获取手机联系人以及查询其归属地是一项常见的功能,这涉及到对系统API的使用、数据读取以及网络请求。以下是对这个主题的详细解析。 首先,要获取手机上的联系人,你需要访问Android的Content ...
android 获取手机联系人的工具类 源码 包括 手机SIM卡联系人 手机通讯录联系人
在Android开发中,获取手机通讯录联系人信息并实现点击直接拨打电话的功能是常见的需求,这对于构建各种社交、工具类应用至关重要。以下将详细介绍如何实现这个功能。 首先,要访问手机通讯录,我们需要请求读取...