通过Intent查看并获取联系人电话

来源:互联网 发布:linux mtd源代码分析 编辑:程序博客网 时间:2024/05/01 20:28
package com.mystudy.kibi.networktype;import android.content.Context;import android.content.CursorLoader;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.provider.ContactsContract;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends AppCompatActivity {    final int PICK_CONTACT = 0;    private Button search;    private EditText nameEt;    private EditText phoneEt;    private ReadContactMsg readContactMsg;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        initListener();    }    private void initView(){        search = (Button) findViewById(R.id.search);        nameEt = (EditText) findViewById(R.id.name);        phoneEt = (EditText) findViewById(R.id.phone);    }    private void initListener(){        search.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                TurnToContactActivity();            }        });    }    private void TurnToContactActivity(){        Intent intent = new Intent();        intent.setAction(Intent.ACTION_PICK);        intent.setData(ContactsContract.Contacts.CONTENT_URI);        startActivityForResult(intent,PICK_CONTACT);    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        switch (requestCode){            case PICK_CONTACT:                if(resultCode==AppCompatActivity.RESULT_OK){                    readContactMsg = new ReadContactMsg(this,data);                    nameEt.setText(readContactMsg.getName());                    phoneEt.setText(readContactMsg.getPhone());                }                break;        }    }    class ReadContactMsg{        private String name;        private String phone;        public ReadContactMsg(Context context,Intent data){            super();            Uri contactData = data.getData();            CursorLoader cursorLoader = new CursorLoader(context,contactData,null,null,null,null);            Cursor cursor = cursorLoader.loadInBackground();            if(cursor.moveToFirst()){                String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));                name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));                phone = "此联系人暂未存入号码";                Cursor phones = getContentResolver().query(                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,                        null,                         ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,                         null,                         null);                if (phones.moveToFirst()) {                    phone = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                }                phones.close();            }            cursor.close();        }        public String getName() {            return name;        }        public String getPhone() {            return phone;        }    }}

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.mystudy.kibi.networktype">    <uses-permission android:name="android.permission.READ_CONTACTS" />    <uses-permission android:name="android.permission.WRITE_CONTACTS" />    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center_horizontal"    android:orientation="vertical"    android:padding="10dp"    android:layout_marginTop="50dp"    tools:context="com.mystudy.kibi.networktype.MainActivity">    <EditText        android:layout_width="match_parent"        android:layout_height="50dp"        android:id="@+id/name"        android:gravity="center_vertical"/>    <EditText        android:layout_width="match_parent"        android:layout_height="50dp"        android:id="@+id/phone"        android:gravity="center_vertical"/>    <Button        android:id="@+id/search"        android:layout_margin="58dp"        android:layout_width="match_parent"        android:layout_height="50dp"        android:text="查\t看\t联\t系\t人"        android:textSize="16sp"        android:textColor="#888"/></LinearLayout>

这里写图片描述
这里写图片描述

0 0
原创粉丝点击