今天遇到一个需求查找联系人,并选择后电话号码于是上网搜索查找相关资料,但是网上的我搜到的例子都是能够查询到系统联系人却不能

查到sim卡里的,所以做了个案例记录。

/**

* 转账界面
 * @author haie
 *
 */
public class TransferActivity extends Activity{

@ViewInject(id=R.id.ed_phone)EditText edphone;
    @ViewInject(id=R.id.ed_money)EditText edmoney;
    @ViewInject(id=R.id.ib_phones)Button btSure;
    private String phoneNumber;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ac_transfer);
        
        
    }

public void getPhoneNum(View v){
        /*Intent i = new Intent(Intent.ACTION_PICK);
        i.setType("content://icc/and");//sim卡联系人      //vnd.android.cursor.dir/contact(手机联系人)
        startActivityForResult(i, 0);*/
        Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);  //
        startActivityForResult(intent, 0);  
    }
    
     protected void onActivityResult (int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            
            switch (requestCode) {
                case 0:
                    if (data == null) {
                        return;
                    }
                    //localCursor1是为了获得contact_id
                    ContentResolver localContentResolver = getContentResolver();
                    Cursor localCursor1 = managedQuery(data.getData(), null, null, null, null);
                    
                    if(localCursor1.moveToFirst()){
                        String str = localCursor1.getString(localCursor1.getColumnIndex("_id"));
                        //根据contact_id查询电话号码
                        Cursor localCursor2 = localContentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, "contact_id = " + str, null, null);
                        while (localCursor2.moveToNext())
                        {
                          this.phoneNumber = localCursor2.getString(localCursor2.getColumnIndex("data1"));
                        }
                      //  continue;
                        if (resultCode == -1)
                        {
                          setResult(resultCode, data);
                          finish();
                        }
                    }
                    
                   // ToastUtils.showInfo(TransferActivity.this, phoneNumber);
                    edphone.setText(phoneNumber);
                    
                default:
                    break;
            }
        }

/**
      * 跳转到确认转账界面
      */
     public void TransferConfirm(View v){
         String phone=edphone.getText().toString();
         String money=edmoney.getText().toString();
         if(CheckUtils.checkEmpty(phone)||phone.length()<11){
             ToastUtils.showInfo(TransferActivity.this, "手机号码输入错误");
             return;
         }else if(CheckUtils.checkEmpty(phone)){
             ToastUtils.showInfo(TransferActivity.this, "转账金额须大于零");
             return;
         }else if(phone.startsWith("0")){
             ToastUtils.showInfo(TransferActivity.this, "转账金额为非法数据");
             return;
         }
            Intent localIntent = new Intent(this, TransferConfirmActivity.class);
            Bundle localBundle = new Bundle();
            localBundle.putString("phone", phone);
            localBundle.putString("amount", money);
            localIntent.putExtras(localBundle);
            startActivityForResult(localIntent, 2);
     }
    
     /**
         * 点击返回到搜索界面
         * @param v
         */
        public void btBack(View v){
            finish();
        }

/**
         * 返回键事件
         */
        @Override  
        public boolean onKeyDown(int keyCode, KeyEvent event) {  
            if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){  
                //需要处理  
                this.finish();
            }  
            return false;  
        }
}

查询电话联系人(包括sim卡)相关推荐

  1. 获取手机通讯录 (含SIM卡中的联系人)

    sim卡UIR content://icc/fdn content://sim/fdn MOTO XT800比较异常,通讯录在: content://contacts/phones 1.使用andro ...

  2. Android SIM卡联系人操作总结

    --- by Ruiming.Lv 在Android中,对SIM中的联系人进行操作,需要通过系统提供的Content Provider进行,该Provider就是Telphony中的IccProvid ...

  3. android sim卡联系人存储格式,Android获取手机通讯录、sim卡联系人及调用拨号界面方法...

    android获取手机通讯录联系人信息 private void getPhoneContacts() { ContentResolver resolver = this.getContentReso ...

  4. SIM卡所能保存的联系人姓名长度研究。

    第一次写博客,随便写写之前的一些问题吧. 随着网络的普及,人们对联系人的管理越来越趋向于将其备份到网络中,这样换设备时可以很方便进行同步,而且也方便不同设备之间的通讯录备份,而今天我想提到的是一种比较 ...

  5. android获取sim卡手机号码,Android 读取SIM卡联系人

    Android 5.0之前的版本中,系统只支持单卡,可以使用URI -- content://icc/adn 读取到sim卡里的联系人.附:IccProvider(4.4.4_r1) Android ...

  6. android复制sim卡上的短信到手机,将数据从SIM卡轻松传输到新手机的最佳方法

    购买新手机后,您需要将旧手机上的所有内容转移到新手机,包括SIM卡中的数据. 有时,当您将SIM卡中的文件切换到新智能手机时,可能会丢失该文件. 因此,您必须手动逐个添加联系人. 有没有有效的方法将S ...

  7. android+sim卡短信,android 信息(mms)开发(七)-- sim卡短信

    这篇关于android源码是如何操作sim卡上的信息说明,sim\usim卡的信息说起来这算是比较特别的一部分,由于android源码的信息是没有开机自动导卡信息和联系人的,所以有时会忘掉它的存在应该 ...

  8. sim卡怎么注册更新服务器,完美解决SIM卡注册失败,手机SIM卡无效的办法(图文详解)...

    完美解决SIM卡注册失败,手机SIM卡无效的办法 问题描述:手机插上SIM卡之后开机,屏幕显示"SIM卡注册失败"."SIM卡无效",最终导致无法找到移动信号, ...

  9. android2.2应用开发之IccCard(sim卡或USIM卡)第一篇

    如果要做android通讯录的联系人的机卡混排显示,由于手机卡类型的不同,导致手机卡存储容量以及可以存储信息不同,就要涉及到android去读Icc卡的信息. 一般的sim卡只能存储姓名跟一个电话号码 ...

最新文章

  1. SAP BD87将IDoc状态修改为68 ?
  2. SAP CRM系统里Opportunity预期销售金额和货币相关的自动转换
  3. Forms身份验证基本原理
  4. Java同步锁——lock与synchronized 的区别【转】
  5. php api查询开发,PHP 开发API接口 登记,登录,查询用户资料
  6. 华为 台积电 高通申请_台积电/高通纷纷力挺华为!全面放下姿态:将不再断供华为芯片产品...
  7. 人工智能与人的职业发展
  8. 笔记:HPlus模板 单选框
  9. 诺基亚 8208支持java么_诺基亚8_诺基亚8208怎么上网_8208 诺基亚
  10. Hou的图像显著性计算模型
  11. 微信第三方平台服务器,微信三方平台接入
  12. 基于JAVA的企业部门报销管理信息系统的设计与实现
  13. 经典:基因组测序数据从头拼接或组装算法的原理
  14. Opera 11.01的Bug
  15. 干货分享 | 天啊撸,有效防止黑客入侵网站的方法居然如此简单
  16. 北欧岗位制博士申请有多难?
  17. Google入门到精通(搜索方法经典)
  18. 20岁到30岁,他从实习生做到百度最高决策层!
  19. js姓名和身份证验证
  20. 【Rasa-Core源码阅读】Tracker

热门文章

  1. java实现日期加一天
  2. html+css+气泡,CSS气泡
  3. php 递归无限极分类和层级展示(适用于权限管理和分类管理功能)
  4. linux gif 编辑软件,Ubuntu 16.10 安装byzanz截取动态效果图工具
  5. 什么是相位,为什么会有相位?
  6. sqlserver中返回旬开始日期和结束日期的函数
  7. 【实验报告】微处理器原理与应用 CPUHomework1.2 上篇【掌握DEBUG基本命令及其功能 查看CPU和内存 用机器指令和汇编指令编程】
  8. 举个栗子!Tableau 技巧(93):用 热图标记 地图或散点图
  9. 类似直播App的向右滑动清屏功能
  10. Canvas 绘制直线