您的位置:首页 > 移动开发 > Android开发

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

2016-07-01 23:14 369 查看
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>




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android