Activity的使用(九): 读取联系人
16lz
2021-01-26
package com.example.androidtest;import android.os.Bundle;import android.app.ListActivity;import android.view.Menu;import android.net.Uri;import android.provider.ContactsContract;import android.database.Cursor;import android.widget.SimpleCursorAdapter;import android.util.Log;import android.content.ContentProvider;public class AndroidTest extends ListActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_android_test);Uri allContacts = ContactsContract.Contacts.CONTENT_URI;Cursor c = getContentResolver().query(allContacts, null, null, null, null);startManagingCursor(c);String[] columns = new String[]{ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME};int[] views = new int[]{R.id.contactName, R.id.contactID};SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.activity_android_test, c, columns, views);this.setListAdapter(adapter);PrintContacts(c);}private void PrintContacts(Cursor c){if (c.moveToFirst()) {do {String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));String contactDisplayName = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));Log.v("Content Providers", contactId + "," + contactDisplayName);int hasPhone = c.getInt(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));if (hasPhone == 1) {Cursor phoneCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);while (phoneCursor.moveToNext()) {Log.v("Content Providers", phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));}phoneCursor.close();}} while (c.moveToNext());}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.android_test, menu);return true;}}
<?xml version="1.0" encoding="utf-8"?>
需要添加权限:
更多相关文章
- 利用ContentProvider的添加数据
- Android(安卓)监听电话状态
- RecyclerView添加行间距
- 异常ExceptionInInitializerError解决方案
- Android(安卓)程序奔溃常见问题汇总
- Android底层知识Window和WindowManager深入分析
- Android—检测权限并申请
- android中添加通过内容提供者添加联系人
- Android(安卓)图片添加水印