Android下實現擷取本機儲存的連絡人

來源:互聯網
上載者:User

package com.demo;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.Contacts;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class ContentPv extends Activity {
ListView lv;
Cursor c;
    // 此處定義了將要被查詢的欄位列表
String[] persons = new String[]{
Contacts.People._ID,
Contacts.People.NUMBER,
Contacts.People.NAME};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView)findViewById(R.id.lv);
ContentResolver cr = this.getContentResolver();
        // 查詢指定條件的連絡人,此處規定了查詢條件為電話號碼不為空白
c = cr.query(Contacts.People.CONTENT_URI, persons, Contacts.People.NUMBER + " is not null", null, Contacts.People.DEFAULT_SORT_ORDER);
c.moveToFirst();
        // 建立Adapter並灌入ListView
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.list, c, new String[] { Contacts.People.NAME },
new int[] { R.id.TextView01 });
lv.setAdapter(adapter);
}
}

與此同時在Manifest.xml配置允許讀取連絡人的許可權
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

程式運行後效果,我在ListView上添加了一個OnItemClick監聽器,點擊時彈出指定連絡人的電話號碼,代碼也很簡單
c.moveToPosition(position);
new AlertDialog.Builder(this)
.setTitle("Hint")
.setMessage(c.getString(c.getColumnIndexOrThrow(Contacts.People.NUMBER)))
.setPositiveButton("OK", null)
.show();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.