查询联系人

获取联系人

final int m = 0;

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

    //返回系統Home桌面
    //Intent intent1=new Intent();
    //intent1.setAction(Intent.ACTION_MAIN);
    //intent1.addCategory(Intent.CATEGORY_HOME);
    //startActivity(intent1);

    Intent intent = new Intent();

    intent.setAction(Intent.ACTION_GET_CONTENT);

    startActivityForResult(intent, m);
}

@SuppressLint("NewApi") @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case m:
        if (resultCode == RESULT_OK) {
            Uri uri=data.getData();
            CursorLoader cursorLoader=new CursorLoader(this, uri, null, null, null, null);
            //查询联系人信息
            Cursor cursor=  cursorLoader.loadInBackground();

            if(cursor.moveToNext())
            {
                String contactId=cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
                //获取联系人姓名
                String name=cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
                String phoneNum="";
                Cursor phones=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId, null, null);
                if(phones.moveToNext())
                {
                    //取出电话号码
                    phoneNum=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                }

                //关闭游标
                phones.close();

            }
            cursor.close();
        }
        break;

    default:
        break;
    }

}

Uri对象的说明

Uri对象的字符串表现形式:
content://com.android.contacts/contacts/1   
tel:123
Uri满足如下格式
scheme://host:port/path

例如上面的例子:content 就是 scheme, com.android.contacts 就是host,port被隐藏了,contacts/1就是path。

StateListDrable

  1. android:state_active 代表是否处于激活状态
  2. android:state_checkable 代表爱是否处于可以勾选状态
  3. android:state_checked 代表是否被勾选
  4. android:state_enabled 代表是否处于可用状态
  5. android:state_first 代表是否处于开始状态
  6. android:state_focused 代表是否获取到焦点
  7. android:state_last 代表是否处于中间状态
  8. android:state_middle 代表是否处于中间状态
  9. android:state_pressed 代表是否被按下
  10. android:state_selected 代表是否处于被选中状态
  11. android:state_window_focused 代表窗口是否已经得到焦点状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值