获取ContentProvider来获取手机所有的联系人及联系人信息
来源:互联网 发布:shell脚本编程教程 编辑:程序博客网 时间:2024/06/07 10:18
用ContentProvider内容提供者的技术来获取手机上的联系人,比如开发软件时,如果您的好友也是软件用户,则可以通过手机联系人直接添加好友
下面是实现步骤
这里就模仿一下获得
首先在你的界面打一个按钮来获得
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取手机联系人" android:onClick="getContacts" />
然后在相对应的的activity中编写以下代码
public class MainActivity extends AppCompatActivity { private ContentResolver cr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取内容访问者 cr = getContentResolver(); } //定义获得联系人的方法 public void getContacts(View view){ //解析URI content://com.android.contacts/raw_contacts是获得联系人的协议 //记得加content:// Uri uri=Uri.parse("content://com.android.contacts/raw_contacts"); Cursor cursor=cr.query(uri,null,null,null,null); while (cursor.moveToNext()){ //获得联系人的id int _id=cursor.getInt(cursor.getColumnIndex("_id")); //获得联系人姓名 String display_name=cursor.getString(cursor.getColumnIndex("display_name")); //循环打印你所有的联系人 Log.i("test",_id+" "+display_name); //循环获得联系人的信息 //"content://com.android.contacts/raw_contacts/"+_id+"/data" 协议 Uri uriData=Uri.parse("content://com.android.contacts/raw_contacts/"+_id+"/data"); Cursor cursorData=cr.query(uriData,null,null,null,null); while (cursorData.moveToNext()){ String mimetype=cursorData.getString(cursorData.getColumnIndex("mimetype")); String data1=cursorData.getString(cursorData.getColumnIndex("data1")); //如果是电话,则打印 // vnd.android.cursor.item/phone_v2是联系人姓名,同样的还有email,住址等 if("vnd.android.cursor.item/phone_v2".equals(mimetype)){ // Log.i("test"," "+mimetype+" "+data1); } } } }}
因为现在的手机越来越高级,处理的比较好,所以最后记得添加权限
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
当然,有一些手机的权限还是比较高还是拿不到联系人是有可能的、
阅读全文
0 0
- 获取ContentProvider来获取手机所有的联系人及联系人信息
- 使用ContentProvider获取联系人的所有信息
- ContentProvider获取手机联系人
- ContentProvider获取手机联系人
- 获取手机联系人(Contentprovider)
- ContentProvider获取联系人信息
- 利用ContentProvider获取手机中联系人的信息
- 获取联系人所有信息
- 获取手机联系人信息
- 获取手机联系人信息
- 获取手机联系人信息
- Android-contentprovider 获取手机联系人
- ContentProvider之获取手机联系人
- android-ContentProvider获取联系人信息
- 获取手机所有联系人及搜索
- 获取通讯录中所有联系人的信息
- Android获取手机联系人信息的方法
- 获取手机的联系人
- 【翻译】【Ionic】上传,FileTransfer学习
- Brackets Sequence (POJ-1141)
- 使用Ajax和Jquery配合数据库实现下拉框的二级联动
- spark 运行内存异常及参数调整
- SpringBoot快速入门,简单样例
- 获取ContentProvider来获取手机所有的联系人及联系人信息
- gradle linux 绝对路径
- android UiAutomator长按实现控制按住控件时间的方法
- HDU 3714 Error Curves(三分)
- Spring ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别
- php-china.org 的开源项目安装
- 《利用Python进行数据分析》学习笔记ch03(4)
- C++实现双链表基本接口
- OpenAirInterface USRP安装时You do not have write permissions at the install location问题解决方案