- public class contractTest extends Activity {
- private static final String TAG = "U0fly contractTest ===> ";
-
- private static final int PICK_CONTACT = 3;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- Log.d(TAG, "onCreate");
-
- TextView tv = (TextView)findViewById(R.id.TextView);
-
- Button btn = (Button)findViewById(R.id.btn);
- btn.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
- startActivityForResult(intent, PICK_CONTACT);
- }
- });
-
-
-
- }
-
- @Override
- public void onActivityResult(int reqCode, int resultCode, Intent data){
- super.onActivityResult(reqCode, resultCode, data);
- Log.d(TAG, "onActivityResult");
- switch(reqCode){
- case (PICK_CONTACT):
- Log.d(TAG, "onActivityResult PICK_CONTACT");
- if (resultCode == Activity.RESULT_OK){
- Uri contactData = data.getData();
- ContentResolver c = getContentResolver();
- Cursor cursor= c.query(contactData, null, null, null, null);
- if (cursor.moveToFirst()){
-
- String[] PHONES_PROJECTION = new String[] { "_id","display_name","data1","data3"};
- String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID));
-
- Cursor phone = c.query(
- ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
- PHONES_PROJECTION,
- ContactsContract.CommonDataKinds.Phone.CONTACT_ID
- + "=" + contactId, null, null);
- // name type ..
- while (phone.moveToNext()) {
- int i = phone.getInt(0);
-
- String str = phone.getString(1);
- str += " ";
- str += phone.getString(2);
- str += " ";
- str += phone.getString(3);
- }
-
- // other data is available for the Contact. I have decided
- // to only get the name of the Contact.
- String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
- Log.d(TAG, "onActivityResult PICK_CONTACT RESULT_OK 444");
- // Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
- TextView tv = (TextView)findViewById(R.id.TextView);
- tv.setText(name);
- }
- }
- }
- }
- }
添加許可權:
<uses-permission android:name="android.permission.READ_CONTACTS"/>