Android 读取系统联系人

来源:互联网 发布:响应式编程和链式编程 编辑:程序博客网 时间:2024/05/04 10:34

Android 读取系统联系人

以下是一个小demo比较简单

XML代码:

<?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:id="@+id/activity_main"    android:layout_width="match_parent" android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:orientation="vertical"    tools:context="com.dzz.android23_ecd.MainActivity">    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="黑名单"/>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <EditText            android:layout_width="0dp"            android:layout_height="wrap_content"            android:hint="请输入黑名单号码"            android:id="@+id/et_main"            android:phoneNumber="true"            android:layout_weight="6"            />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="联系人"            android:onClick="phone"            />    </LinearLayout>    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="设置为"        android:onClick="set"        android:layout_gravity="center"        /></LinearLayout>

Java代码:

package com.dzz.android23_ecd;import android.app.Activity;import android.app.PendingIntent;import android.content.ContentResolver;import android.content.DialogInterface;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.provider.ContactsContract;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.telephony.SmsManager;import android.view.LayoutInflater;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private EditText et_main;    private PendingIntent pendingIntent;    private SmsManager smsManager;    private String usernumber;    private String username;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_main = (EditText) findViewById(R.id.et_main);        //保存电话号码        String eet= Define.getString(MainActivity.this,"con","");        et_main.setText(eet);        pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(), 0);        smsManager = SmsManager.getDefault();    }给联系人添加点击    public void phone(View view){        startActivityForResult(new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI), 0);    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (resultCode == Activity.RESULT_OK) {            ContentResolver reContentResolverol = getContentResolver();            Uri contactData = data.getData();            @SuppressWarnings("deprecation")            Cursor cursor = managedQuery(contactData, null, null, null, null);            cursor.moveToFirst();            //联系人名字            username = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));            String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));            Cursor phone = reContentResolverol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,                    null,                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId,                    null,                    null);            while (phone.moveToNext()) {                //联系人号码                usernumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                et_main.setText(usernumber +" ("+ username +")");            }        }    }    public void set(View view) {        final String et = et_main.getText().toString();        AlertDialog.Builder dl = new AlertDialog.Builder(MainActivity.this);        dl.setTitle("温馨提示");        LayoutInflater inflater = getLayoutInflater();        dl.setMessage("你确定将" + et + "号码设置为黑名单吗?");        dl.setPositiveButton("确定", new DialogInterface.OnClickListener() {            private String ee;            @Override            public void onClick(DialogInterface dialogInterface, int i) {                if(et.indexOf("(")<0){                    ee=et;                }else{                    ee = et.substring(0,et.indexOf("("));                }                Toast.makeText(MainActivity.this, "设置成功!", Toast.LENGTH_SHORT).show();                Define.setString(MainActivity.this,"con",ee);            }        });        dl.setNegativeButton("还是算了", null);        dl.show();    }}
0 0
原创粉丝点击