导航:首页 > 操作系统 > android通过号码查询联系人

android通过号码查询联系人

发布时间:2022-09-06 11:05:27

android开发怎样获取通讯录联系人信息

❷ Android 联系人数据库介绍以及对联系人的基本操作

参考如下内容:
一、 联系人数据库
 联系人的数据库文件的位置
/data/data/com.android.providers.contacts/databases.contacts2.db
 数据库中重要的几张表
1、contacts表
该表保存了所有的手机测联系人,每个联系人占一行,该表保存了联系人的
ContactID、联系次数、最后一次联系的时间、是否含有号码、是否被添加
到收藏夹等信息。
2、raw_contacts表
该表保存了所有创建过的手机测联系人,每个联系人占一行,表里有一列标
识该联系人是否被删除,该表保存了两个ID:RawContactID和ContactID,
从而将contacts表和raw_contacts表联系起来。该表保存了联系人的
RawContactID、ContactID、联系次数、最后一次联系的时间、是否被添
加到收藏夹、显示的名字、用于排序的汉语拼音等信息。
3、 mimetypes
该表定义了所有的MimeTypeID,即联系人的各个字段的唯一标志。

4、data表
 该表保存了所有创建过的手机测联系人的所有信息,每个字段占一行 ,该表
保存了两个ID:MimeTypeID和RawContactID,从而将data表和
raw_contacts表联系起来。
 联系人的所有信息保存在列data1至data15中,各列中保存的内容根据
MimeTypeID的不同而不同。如保存号码(MimeTypeID=5)的那行数据中,
data1列保存号码,data2列保存号码类型(手机号码/家庭号码/工作号码等)。

二、对联系人的基本操作
 这里的基本操作只是针对手机测的联系人,(U)SIM侧的联系人的操
作后续介绍。
 如果对联系人的基本操作,我们必须得到许可。
方法就是在AndroidManifest.xml文件中配置如下权限:
<uses-permission android:name="android.permission.READ_CONTACTS"
/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"
/>
读取联系人
分为以下步骤:
1、先读取contacts表,获取ContactsID;
2、再在raw_contacts表中根据ContactsID获取RawContactsID;
3、然后就可以在data表中根据RawContactsID获取该联系人的各数据了。
[html] view plain
// 获取用来操作数据的类的对象,对联系人的基本操作都是使用这个对象
ContentResolver cr = getContentResolver();
// 查询contacts表的所有记录
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null,
null, null);
// 如果记录不为空
if (cur.getCount() > 0)
{
// 游标初始指向查询结果的第一条记录的上方,执行moveToNext函数会判断
// 下一条记录是否存在,如果存在,指向下一条记录。否则,返回false。
while (cur.moveToNext())
{
String rawContactsId = "";
String id =
cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
str += "ID:" + id + "\n";二、对联系人的基本操作(4)
// 读取rawContactsId
Cursor rawContactsIdCur = cr.query(RawContacts.CONTENT_URI,
null,
RawContacts.CONTACT_ID +" = ?",
new String[]{id}, null);
// 该查询结果一般只返回一条记录,所以我们直接让游标指向第一条记录
if (rawContactsIdCur.moveToFirst())
{
// 读取第一条记录的RawContacts._ID列的值
rawContactsId =
rawContactsIdCur.getString(rawContactsIdCur.getColumnIndex(
RawContacts._ID));
}
rawContactsIdCur.close();
[html] view plain
// 读取号码
If (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.
Contacts.HAS_PHONE_NUMBER))) > 0)
{
// 根据查询RAW_CONTACT_ID查询该联系人的号码
Cursor PhoneCur =
cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID +" =
?",
new String[]{rawContactsId}, null);
// 上面的ContactsContract.CommonDataKinds.Phone.CONTENT_URI

❸ 根据手机号码查询常用联系人

咨询记录 · 回答于2021-12-13

❹ 用安卓手机如何查询本机号码

vivo手机可进入手机设置--(应用与权限)--(系统应用设置)--电话--号码中,即可查看手机的本机号码。
部分SIM卡无显示,可以自行添加显示,也可以拨打朋友的手机确认自己的号码。

❺ android如何获取通讯录联系人信息,并显示出来

查询数据库,一般联系人的信息都存储在contacts2.db这个数据库中,你可以通过ContentProvider来查询,联系人的信息的表结构比较复杂,不知道你想要查询什么样的信息?

❻ 安卓手机有没有可以查询联系人的手机软件

来电号码的归属显示是属于手机的第三方应用,由于手机系统来电时候没有给系统通知导致了这个问题,目前还没有苹果授权的这样类型的第三方软件,现在一些说有来电显示功能的软件对系统进行了修改,导致对很多软件的系统兼容性会有一些问题,推荐你装一个91助手,有比较庞大的归属地查询库,他是一款比较好的手机管理软件。
推荐给你两款,一个是“联系人定位“软件可以去安卓网下载,软件以电话薄为基础,通过与联系人建立绑定关系实现位置与即时消息的通讯;一个是91助手,直接在联系人中进行定位查找,不用注册直接可以使用。定位一般都是大范围的,不过91助手的相对要精确一点,你可以两款都试下。

❼ android通讯录里查找联系人那里怎么做的,就是比如在搜索框里输入一个张,所有姓张的就显示在listview里

代码什么的,就不实现了.思路就是,给你的EditText加一个实时监听,只要这个控件里面发生变化了,就马上根据输入的字进行模糊查询.得到返回值就更新,listview.另外不知道你的编程习惯怎样.最好要创建一个与你list item对应的javabean,在listview的adapter getview里面用list<bean>的方式读取数据.再创建一个setbean(bean)方法,里面写更新语句.....不建议重新setadapter来更新界面.

❽ 怎样取得android短信数据库中发件人收件人的名字

短信数据库中不会存储姓名,只会存储recipient的号码。
thread表中的recipient_ids字段标示该会话有哪些收件人,收件人/发件人的具体信息会存放在canonical_addresses表中。
根据号码查询联系人数据库,即可获取收件人的姓名等信息
联系人的查询方法请参照 Contact.java 中的getContactInfoForPhoneNumber(String number)

http://androidxref.com/5.1.1_r6/xref/packages/apps/Mms/src/com/android/mms/data/Contact.java

阅读全文

与android通过号码查询联系人相关的资料

热点内容
访问服务器公网地址 浏览:656
pdf打印底色去掉 浏览:443
java快递接口 浏览:395
哪个app可以教新爸爸 浏览:210
如何查看服务器系统版本信息 浏览:524
成都市土地出让金算法 浏览:702
钢筋加密标记 浏览:575
ps中扩展功能在文件夹的什么位置 浏览:903
双极压缩机为什么要先高压 浏览:527
苹果手机服务器填什么 浏览:832
android移动动画效果 浏览:691
电子和服务器是什么意思 浏览:691
phpurl中文乱码问题 浏览:893
程序员那么可爱大结局陆漓产子 浏览:538
java如何从云服务器读取本地文件 浏览:924
压缩空气软管制作方法 浏览:912
天河三号算法 浏览:924
php队列教程 浏览:632
洪水命令 浏览:530
安卓怎么弄成苹果在线 浏览:435