android-调用本机的联系人界面及返回 - 随心
来源:互联网 发布:python抓取手机号 编辑:程序博客网 时间:2024/05/17 22:22
首先必加的权限<uses-permission android:name="android.permission.READ_CONTACTS" />
这里写两个方法。
方法一:本人在小米手机测试可以,不过在其他的手机测试发现返回的Uri为空,不知为何,于是找到了第二种方法来解决。
跳转至电话本Intent i = new Intent(Intent.ACTION_PICK);i.setType("vnd.android.cursor.dir/phone");startActivityForResult(i, SEND_SMS_TYPE);
返回获取数据
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {case SEND_SMS_TYPE:if(!(resultCode == RESULT_OK)){return ;}if (data == null) {return;}Uri uri = data.getData();Cursor cursor = getContentResolver().query(uri, null, null, null,null);cursor.moveToFirst();String number = cursor.getString(cursor.getColumnIndexOrThrow(Phones.NUMBER));sendAdrress = number;SEND_TYPE = SEND_SMS_TYPE;send_text_SMS.setText("发送短信" + " : " + number);break;}super.onActivityResult(requestCode, resultCode, data);}
方法二:
Intent i = new Intent();i.setAction(Intent.ACTION_PICK);i.setData(ContactsContract.Contacts.CONTENT_URI);startActivityForResult(i, SEND_SMS_TYPE);//-----------------------------------------------------------------@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (resultCode) {case RESULT_OK:switch (requestCode) {case SEND_SMS_TYPE:if (data == null) {return;}String phoneNumber = null;Uri contactData = data.getData();if (contactData == null) {return ;}Cursor cursor = managedQuery(contactData, null, null, null, null);if (cursor.moveToFirst()) {//String name = cursor.getString(cursor//.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));if (hasPhone.equalsIgnoreCase("1")) {hasPhone = "true";} else {hasPhone = "false";}if (Boolean.parseBoolean(hasPhone)) {Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + id, null, null);while (phones.moveToNext()) {phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));setTitle(phoneNumber);}phones.close();}}sendAdrress = phoneNumber;SEND_TYPE = SEND_SMS_TYPE;send_text_SMS.setText("发送短信" + " : " + phoneNumber);break;}break;}super.onActivityResult(requestCode, resultCode, data);}
- android-调用本机的联系人界面及返回 - 随心
- 调用系统联系人的添加界面-android
- android调用系统联系人返回联系人结果,
- Android 调用系统联系人界面的添加联系人,添加已有联系人,编辑和修改。
- Android调用系统添加和编辑联系人的返回结果
- android调用系统添加联系人界面
- Android学习之调用系统联系人页面返回联系人信息
- 调用系统添加联系人界面的套路
- android开发:跳转至联系人界面选择后返回电话号码
- Android本机联系人操作点滴
- Android contentResolver得到本机联系人数据
- android 调用拨号返回调用界面
- android-java与C++的相互调用-随心
- android-java与C++的相互调用-随心
- Android调用系统存储联系人界面,以及系统短信发送
- android 从项目中调用系统添加联系人界面
- android调用系统通讯录,并返回联系人号码和称呼
- Android中自建应用调用系统联系人并返回结果
- 外部表
- 大数问题
- 注意instanceof是判断是否属于此类或者此类的父类----java
- 本附录介绍iOS系统包含的框架,它们为编写iOS平台的软件提供必要的接口。下面的表格尽可能地列出框架中的类、方法、函数、类型以及常量使用的关键前缀,请避免在您的符号名称中使用这些前缀。
- Linux apache反向代理配置tomcat分布式 (CentOS6.3 64bit)
- android-调用本机的联系人界面及返回 - 随心
- MouseOrbit增加中轴缩放功能
- 定义一个点 内包含点的属性 设置 返回 等-----java
- C++STL中vector容器 assign()函数的用法
- 从代码特性看单元测试的必要性
- 既然认准这条路,何必打听走多久
- Oracle如何复制表的sql语句
- stm32通用定时器
- MCI编程