Android读取联系人的信息

Google提供一套完整的ContentProvider,我们通常所涉及到的系统的数据库的操作往往可以通过getContentResolver()方法获取ContentResolver之后进行相应操作。当然其中很重要的就是各个数据库的Uri。读取联系人关键就是确定Uri。下面给出读取本机以及SIM的卡的具体Uri

读取本机的联系人:

Cursor cursor = ctx.getContentResolver().query(Phones.CONTENT_URI, null, null, null, People.DEFAULT_SORT_ORDER);

读取SIM卡联系人,分为1.5版本和1.6版本:

1.5版本:Cursor cursor = ctx.getContentResolver().query(Uri.parse("content://sim/adn"), null, null, null, People.DEFAULT_SORT_ORDER);

 1.6版本:Cursor cursor = ctx.getContentResolver().query(Uri.parse("content://icc/adn"), null, null, null, People.DEFAULT_SORT_ORDER);

这里只是举例遍历联系人的应用,其中ctx对应你相应的Context,而People.DEFAULT_SORT_ORDER只是一种排序方式,你可以自己指定。

还有一点,就是2.0,2.1,2.2的版本听说可以用1.6的版本的Uri,但是没有验证过。我曾经用1.6版本的Uri实验过N1(2.1固件)来读取SIM卡联系人,但是没有成功。所有还请大家补充新版本的读取SIM卡联系人的Uri。

发布了30 篇原创文章 · 获赞 17 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/llfjfz/article/details/5768434