用户点击按钮获取联系人信息:并显示到输入框中。。
package com.example.progress;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
private Button btn1, btn2;
private Context mContext;
private final int PICK_CONTENT = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
mContext = this;
initView();
}
private void initView() {
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ComponentName comp = new ComponentName(mContext,
SecondActivity.class);
Intent intent = new Intent();
intent.setComponent(comp);
startActivity(intent);
}
});
// 獲取聯繫人
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent showIntent = new Intent();
showIntent.setAction(Intent.ACTION_GET_CONTENT);
showIntent.setType("");
startActivityForResult(showIntent, PICK_CONTENT);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case PICK_CONTENT:
if (resultCode == RESULT_OK) {
Uri uriData = data.getData();
@SuppressWarnings("deprecation")
Cursor cursor = managedQuery(uriData, null, null, null, null);
if (cursor.moveToFirst()) {
String content_Id = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
// 獲取聯繫人
String name = cursor
.getString(cursor
.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
String phoneNumber = "沒有電話號碼";
// 根據聯繫人獲取詳細的信息
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ "=" + content_Id, null, null);
if(phones.moveToFirst())
{
phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
//关闭游标
phones.close();
EditText show = (EditText) findViewById(R.id.people_show);
show.setText(name);
EditText phone_number = (EditText) findViewById(R.id.phone_number);
phone_number.setText(phoneNumber);
}
cursor.close();
}
break;
}
}
}
<!-- 讀取聯繫人 -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
点击按钮直接到主界面:Home,相当于Home键。
showIntent.setAction(Intent.ACTION_MAIN);
showIntent.addCategory(Intent.CATEGORY_HOME);