国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程實現通訊錄中聯系人的讀取,查詢,添加功能示例

2019-12-12 02:31:23
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程實現通訊錄中聯系人的讀取,查詢,添加功能。分享給大家供大家參考,具體如下:

先加二個讀和寫權限:

<uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.WRITE_CONTACTS" />

具體代碼:

package com.eboy.test;import java.util.ArrayList;import android.content.ContentProviderOperation;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.test.AndroidTestCase;import android.util.Log;public class ContectTest extends AndroidTestCase {  private static final String TAG = "TestContact";  //查詢所有聯系人的姓名,電話,郵箱  public void TestContact() throws Exception {    Uri uri = Uri.parse("content://com.android.contacts/contacts");    ContentResolver resolver = getContext().getContentResolver();    Cursor cursor = resolver.query(uri, new String[]{"_id"}, null, null, null);    while (cursor.moveToNext()) {      int contractID = cursor.getInt(0);      StringBuilder sb = new StringBuilder("contractID=");      sb.append(contractID);      uri = Uri.parse("content://com.android.contacts/contacts/" + contractID + "/data");      Cursor cursor1 = resolver.query(uri, new String[]{"mimetype", "data1", "data2"}, null, null, null);      while (cursor1.moveToNext()) {        String data1 = cursor1.getString(cursor1.getColumnIndex("data1"));        String mimeType = cursor1.getString(cursor1.getColumnIndex("mimetype"));        if ("vnd.android.cursor.item/name".equals(mimeType)) { //是姓名          sb.append(",name=" + data1);        } else if ("vnd.android.cursor.item/email_v2".equals(mimeType)) { //郵箱          sb.append(",email=" + data1);        } else if ("vnd.android.cursor.item/phone_v2".equals(mimeType)) { //手機          sb.append(",phone=" + data1);        }      }      cursor1.close();      Log.i(TAG, sb.toString());    }    cursor.close();  }  //查詢指定電話的聯系人姓名,郵箱  public void testContactNameByNumber() throws Exception {    String number = "18052369652";    Uri uri = Uri.parse("content://com.android.contacts/data/phones/filter/" + number);    ContentResolver resolver = getContext().getContentResolver();    Cursor cursor = resolver.query(uri, new String[]{"display_name"}, null, null, null);    if (cursor.moveToFirst()) {      String name = cursor.getString(0);      Log.i(TAG, name);    }    cursor.close();  }  //添加聯系人,使用事務  public void testAddContact() throws Exception {    Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");    ContentResolver resolver = getContext().getContentResolver();    ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();    ContentProviderOperation op1 = ContentProviderOperation.newInsert(uri)      .withValue("account_name", null)      .build();    operations.add(op1);    uri = Uri.parse("content://com.android.contacts/data");    ContentProviderOperation op2 = ContentProviderOperation.newInsert(uri)      .withValueBackReference("raw_contact_id", 0)      .withValue("mimetype", "vnd.android.cursor.item/name")      .withValue("data2", "龔小永")      .build();    operations.add(op2);    ContentProviderOperation op3 = ContentProviderOperation.newInsert(uri)      .withValueBackReference("raw_contact_id", 0)      .withValue("mimetype", "vnd.android.cursor.item/phone_v2")      .withValue("data1", "13539777967")      .withValue("data2", "2")      .build();    operations.add(op3);    ContentProviderOperation op4 = ContentProviderOperation.newInsert(uri)    .withValueBackReference("raw_contact_id", 0)    .withValue("mimetype", "vnd.android.cursor.item/email_v2")    .withValue("data1", "asdfasfad@163.com")    .withValue("data2", "2")    .build();  operations.add(op4);    resolver.applyBatch("com.android.contacts", operations);  }}

完整實例代碼點擊此處本站下載。

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仪陇县| 华蓥市| 驻马店市| 卢湾区| 慈利县| 胶州市| 崇礼县| 蕉岭县| 梁河县| 焦作市| 衡阳市| 巫山县| 江陵县| 鞍山市| 寻甸| 嘉禾县| 陇南市| 郸城县| 大埔区| 安康市| 广德县| 新营市| 庆元县| 兴业县| 禄丰县| 拜城县| 神农架林区| 若尔盖县| 盐源县| 丽水市| 天镇县| 五常市| 彩票| 华蓥市| 霍城县| 莒南县| 韶关市| 抚远县| 抚远县| 镇坪县| 阳西县|