Android 1.5 SDK 读取联系人
来源:互联网 发布:淘宝客服的技巧 编辑:程序博客网 时间:2024/05/22 07:02
Android 通讯录上的信息,存储在两个地方,一个是SIM卡,一个是手机本地, 这个大家首先要明确。我们读取联系人就要读取两个地方,因为我一直都在用2.2的SDK开发,所以这个关于1.5的是在网上找的,还不错,就拿过来给大家看看。因为现在好像是在公司开发还是以尽量兼容1.6的SDK为主,并没有达到兼容2.2SDK这么高呢。可能有的朋友会用到。
ContactsContract.Contacts.CONTENT_URI是2.1下的Contacts表查询Uri;1.5的应该是Contacts.People.CONTENT_URI
首先是手机本地:
下面是获取SIM卡:
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null); while (cursor.moveToNext()) { ContactInfo cci = new ContactInfo(); //取得联系人名字 int nameFieldColumnIndex = cursor.getColumnIndex(People.NAME); cci.contactName = cursor.getString(nameFieldColumnIndex); //取得电话号码 int numberFieldColumnIndex = cursor.getColumnIndex(People.NUMBER); cci.userNumber = cursor.getString(numberFieldColumnIndex); cci.userNumber = GetNumber(cci.userNumber); cci.isChecked = false; if (IsUserNumber(cci.userNumber)) { if (!IsContain(contactList, cci.userNumber)) { if(IsAlreadyCheck(wNumStr, cci.userNumber)){ cci.isChecked = true; numberStr += "," + cci.userNumber; } contactList.add(cci); //Log.i("eoe", "*********"+cci.userNumber); } } } cursor.close();}
//从SIM卡中取号
private void GetSimContact(String add){ //读取SIM卡手机号,有两种可能:content://icc/adn与content://sim/adn try { Intent intent = new Intent(); intent.setData(Uri.parse(add)); Uri uri = intent.getData(); mCursor = getContentResolver().query(uri, null, null, null, null); if (mCursor != null) { while (mCursor.moveToNext()) { ContactInfo sci = new ContactInfo(); // 取得联系人名字 int nameFieldColumnIndex = mCursor.getColumnIndex("name"); sci.contactName = mCursor.getString(nameFieldColumnIndex); // 取得电话号码 int numberFieldColumnIndex = mCursor .getColumnIndex("number"); sci.userNumber = mCursor.getString(numberFieldColumnIndex); sci.userNumber = GetNumber(sci.userNumber); sci.isChecked = false; if (IsUserNumber(sci.userNumber)) { if (!IsContain(contactList, sci.userNumber)) { if(IsAlreadyCheck(wNumStr, sci.userNumber)){ sci.isChecked = true; numberStr += "," + sci.userNumber; } contactList.add(sci); //Log.i("eoe", "*********"+sci.userNumber); } } } mCursor.close(); } } catch (Exception e) { Log.i("eoe", e.toString()); }}
以上是将获取到的信息对象方法ArrayList<ContactInfo> contactList里面,然后砸显示的是采用适配器,这样就完成了
在写的时候,一定要注意获取的方式。
- Android 1.5 SDK 读取联系人
- Android 1.5 SDK 读取联系人[获取手机通讯录信息(SDK1.5)]
- android联系人读取
- Android 读取联系人(详细)
- android 读取联系人
- Android-读取联系人练习
- Android中读取联系人
- android 读取手机联系人
- Android读取、加入联系人
- android 读取联系人实例
- Android读取通讯录联系人
- Android读取通讯录联系人
- android 联系人读取优化
- Android 读取联系人数据库
- android读取手机联系人
- Android联系人数据库读取
- Android 读取系统联系人
- 88.android读取联系人
- TransactionScope类的使用
- 区别:Thread.currentThread().getContextClassLoader() and Class.getClassLoader()
- C++虚函数探索笔记(3)——延伸思考:虚函数应用的一些其他情形
- SQL Azure Performance Tuning
- 成功安装mysql后,使用数据库时找不到服务
- Android 1.5 SDK 读取联系人
- 50个c/c++源代码网站
- 获取本机IP
- 【转】写代码如坐禅:你是哪一类程序员
- 一个用Lucene3.0 的搜索项目设计总体图
- 静态(Static)、虚拟(Virtual)、动态(dynamic)方法区别
- 开发者必须知道的HTML5十五大新特性
- 字体识别的困扰
- GtkButton 透明按钮