- 浏览: 940543 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
自己看...........
public static final int PHONES_DISPLAY_NAME_INDEX = 0;
public static final int PHONES_NUMBER_INDEX = 1;
public static final int PHONES_PHOTO_ID_INDEX = 2;
public static final int PHONES_CONTACT_ID_INDEX = 3;
public static final String[] PHONES_PROJECTION = new String[]
{
Phone.DISPLAY_NAME,
Phone.NUMBER,
Photo.PHOTO_ID,
Phone.CONTACT_ID
};
public static ArrayList<MyContacts> mycontacts=null;
//获取手机中的联系人信息
private void getPhoneContacts(Context mContext) {
if(mycontacts==null){
mycontacts= new ArrayList<MyContacts>();
}
ContentResolver resolver = mContext.getContentResolver();
// 获取手机联系人
Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
//得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
//当手机号码为空的或者为空字段跳过当前循环
if (TextUtils.isEmpty(phoneNumber))
continue;
//得到联系人名称
String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);
//得到联系人ID
Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);
//得到联系人头像ID
Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);
//得到联系人头像Bitamp
Bitmap contactPhoto = null;
//photoid 大于0 表示联系人有头像如果没有给此人设置头像则给他一个默认的
if(photoid > 0 ) {
Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri);
contactPhoto = BitmapFactory.decodeStream(input);
}else {
contactPhoto = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.contact);
}
MyContacts myContact=new MyContacts(contactName, phoneNumber, contactPhoto);
mycontacts.add(myContact);
}
phoneCursor.close();
}
}
/* 获得手机sim卡联系人信息
sim卡和手机本人 获取的方式类似 只是url有点不一样 ,须要注意的一点是 sim卡 是没有联系人头像的。 */
private void getSIMContacts(Context mContext) {
if(mycontacts==null){
mycontacts= new ArrayList<MyContacts>();
}
ContentResolver resolver = mContext.getContentResolver();
// 获取Sims卡联系人
Uri uri = Uri.parse("content://icc/adn");
Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null,
null);
Bitmap contactPhoto = null;
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
// 得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
// 当手机号码为空的或者为空字段 跳过当前循环
if (TextUtils.isEmpty(phoneNumber))
continue;
// 得到联系人名称
String contactName = phoneCursor
.getString(PHONES_DISPLAY_NAME_INDEX);
//Sim卡中没有联系人头像 加載默認圖片
contactPhoto = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.contact);
MyContacts myContact=new MyContacts(contactName, phoneNumber, contactPhoto);
mycontacts.add(myContact);
}
phoneCursor.close();
}
}
发表评论
-
App开发一些总结
2016-04-05 17:48 2601架构因人而异,不同的架构师大多会有不同的看法;架构也因项目 ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4941最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
android 操作文件
2012-08-30 11:15 1059package com.liyong; import jav ... -
android获取短信内容
2012-08-29 23:10 1573自己研究: package com.liyong.data; ... -
Android中的日历操作
2012-08-29 13:01 3028日历的操作方法,这里主要用到了ContentProiver的知 ... -
android获取CMNET、WIFI、CMWAP联网状态
2012-08-29 12:40 5869private static final int CMNET= ... -
android实现手势缩放、移动图片
2012-08-28 19:37 9299新建一个触摸监听器类 package com.liyong. ... -
怎样把信息绘制到图片中并且保存到本地硬盘上
2012-08-27 12:53 1386自己研究吧。。。 //解释一下由于我们不是绘制到手机屏幕上所 ... -
关于ListView中notifyDataSetChanged()刷新数据不更新原因
2012-08-26 21:41 50338使用Listview的时候: 当要动态显示更改后的数据(例如数 ... -
修改Android中strings.xml文件, 动态改变数据
2012-08-24 18:25 10865有些朋友可能会动态的修改Android中strings.xml ... -
android内存泄漏
2012-07-25 21:04 1717尽量不要使用setImageBitmap或setImageRe ... -
将程序安装到SD卡
2012-04-28 22:11 888Android 2.2系统的一大改进就是通过Move to S ... -
一个很好的加密解密字符串
2012-04-28 22:11 1145package net.sf.andhsli.hotspotl ... -
获取手机位置
2012-04-28 22:11 1013private double[] getGPS() { Lo ... -
获取手机位置
2012-05-04 09:39 1112private double[] getGPS() { Lo ... -
查看内存存储
2012-05-03 10:05 1105import java.io.File; import a ... -
获取本机电话号码
2012-05-03 10:04 1122private String getMyPhoneNumber ... -
发送彩信
2012-05-03 10:04 1016Uri uri = Uri.parse(\"cont ... -
发送彩信
2012-05-02 09:26 855Uri uri = Uri.parse(\"cont ...
相关推荐
// 已有权限,执行获取联系人信息的代码 } else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, PERMISSIONS_REQUEST_READ_CONTACTS); } ``` 6. **处理回调**...
在这个"Android获取联系人列表Demo"中,我们将深入探讨如何实现这一功能。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限,因为访问联系人数据是受保护的隐私操作。以下是要添加的权限: ```xml ...
以下是对"Android获取联系人"这一主题的详细讲解。 首先,Android系统中的联系人数据存储在SQLite数据库中,开发者可以通过ContentProvider接口访问这些数据。ContactsContract类是Android提供的一个内容提供者...
首先,ContentResolver是Android系统提供的接口,它负责与ContentProvider进行交互,而ContactsContract是Android提供的一个类,包含了所有与联系人相关的常量和URI。 1. **请求权限**:在Android 6.0及以上版本,...
以上就是Android获取联系人生日信息的基本步骤。在实际应用中,你可能还需要考虑到权限问题,因为自Android 6.0(API级别23)开始,用户需要在运行时授予读取联系人的权限。此外,为了提高性能,你还可以考虑使用...
在Android平台上,获取联系人信息是一项常见的任务,尤其在开发涉及个人信息管理的应用时。这个过程涉及到权限管理、ContentResolver的使用以及对ContactsContract类的理解。本文将深入探讨如何实现"Android简单的...
这篇教程将深入探讨如何在Android应用中获取联系人信息、通话记录以及短信消息。首先,我们来了解一下基本概念。 1. **获取联系人信息**: Android提供了一套完整的API来访问和操作联系人数据。主要涉及`...
在Android开发中,获取联系人、SIM卡信息以及最近联系人列表是常见的需求。下面将详细解释这些概念和实现方式。 一、Android联系人管理 Android系统提供了ContentProvider接口来访问和操作联系人数据。主要涉及到...
对于获取联系人,我们需要`READ_CONTACTS`权限,如果要进行修改或删除操作,则还需要`WRITE_CONTACTS`权限: ```xml <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission ...
Android如何获取手机联系人信息,本文为大家揭晓。 获取手机联系人信息步骤: 1、获取 ContentResolver ContentResolver resolver = getContentResolver(); 2、resolver.query(*)查询信息 查询手机联系人的URI...
在Android平台上,调用通讯录获取联系人是常见的功能,尤其在社交应用或者需要权限管理的应用中尤为关键。本Demo "android调用通讯录获取联系人Demo" 提供了一个实例,帮助开发者理解如何实现这一功能,允许用户自由...
在这个类中,你可以定义一个方法来请求联系人权限,并实现获取联系人的逻辑。以下是一个基本的示例: ```java public class ContactManager { public static final int REQUEST_READ_CONTACTS = 100; public ...
在Android和iOS等移动操作系统中,查看和获取联系人电话是一项常见的功能,广泛应用于社交应用、通讯工具和其他需要用户授权访问联系人信息的软件中。本文将深入探讨如何在这些平台上实现这一功能。 首先,我们从...
例如,要获取联系人的电子邮件地址,可以使用`ContactsContract.CommonDataKinds.Email`对应的URI和列名: ```java Cursor emailCursor = resolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, ...
在Android平台上,获取联系人信息是一项常见的功能,它允许应用程序访问用户的电话簿,展示联系人的姓名、电话号码、电子邮件地址等。本节将详细讲解如何在Android应用中读取联系人信息,以及与之相关的`firstname`...
在Android平台上,获取手机通讯录和SIM卡联系人,以及调用拨号界面是常见的功能需求,这通常涉及到用户信息的读取和系统的交互。以下将详细解释如何实现这些功能。 首先,要获取手机通讯录的联系人信息,我们需要...
总之,Android中获取联系人信息涉及到对`ContactsContract`内容提供者的熟练使用,包括构建查询Uri、解析Cursor以及处理数据。通过这些步骤,我们可以高效地根据电话号码获取到联系人的头像、姓名和其他相关信息。在...
通过查询`ContactsContract.Data`表,结合`ContactsContract.CommonDataKinds.GroupMembership`的数据类型,可以获取联系人所属的所有群组。 8. **权限管理** 记住,进行任何联系人操作都需要在AndroidManifest....