获取联系人
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
- android:state_active 代表是否处于激活状态
- android:state_checkable 代表爱是否处于可以勾选状态
- android:state_checked 代表是否被勾选
- android:state_enabled 代表是否处于可用状态
- android:state_first 代表是否处于开始状态
- android:state_focused 代表是否获取到焦点
- android:state_last 代表是否处于中间状态
- android:state_middle 代表是否处于中间状态
- android:state_pressed 代表是否被按下
- android:state_selected 代表是否处于被选中状态
- android:state_window_focused 代表窗口是否已经得到焦点状态