Android獲取聯絡人和電話號碼
獲取聯絡人和電話號碼
private void queryContactPhoneNumber() {
String[] cols = {ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
cols, null, null, null);
for (int i = 0; i < cursor.getCount(); i++) {
cursor.moveToPosition(i);
// 取得聯絡人名字
int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
int numberFieldColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String name = cursor.getString(nameFieldColumnIndex);
String number = cursor.getString(numberFieldColumnIndex);
Toast.makeText(this, name + " " + number, Toast.LENGTH_SHORT).show();
}
}
根據電話號碼查詢聯絡人姓名的方法:
public class AndroidTest extends Activity {
private static final String TAG = "AndroidTest";
private TextView m_TextView;
private EditText m_EditText;
private String mNumber;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_TextView = (TextView) findViewById(R.id.TextView01);
m_EditText = (EditText) findViewById(R.id.EditText01);
m_TextView.setTextSize(20);
/**
* 設定當m_EditText中為空時提示的內容
* 在XML中同樣可以實現:android:hint="請輸入賬號"
*/
m_EditText.setHint("請輸入賬號");
/* 設定EditText事件監聽 */
m_EditText.setOnKeyListener(new EditText.OnKeyListener() {
public boolean onKey(View arg0, int arg1, KeyEvent arg2)
{
// TODO Auto-generated method stub
// 得到文字,將其顯示到TextView中
// m_TextView.setText("文字框中內容是:" + m_EditText.getText().toString());
return false;
}
});
m_EditText.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
mNumber = ((EditText)v).getText().toString();
Log.d(TAG, "mNumber = " + mNumber);
getPeople();
}
});
m_EditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
// 得到文字,將其顯示到TextView中
m_TextView.setText("文字框中內容是:" + m_EditText.getText().toString());
}
});
}
/*
* 根據電話號碼取得聯絡人姓名
*/
public void getPeople() {
String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER};
Log.d(TAG, "getPeople ---------");
// 將自己新增到 msPeers 中
Cursor cursor = this.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, // Which columns to return.
ContactsContract.CommonDataKinds.Phone.NUMBER + " = `" + mNumber + "`", // WHERE clause.
null, // WHERE clause value substitution
null); // Sort order.
if( cursor == null ) {
Log.d(TAG, "getPeople null");
return;
}
Log.d(TAG, "getPeople cursor.getCount() = " + cursor.getCount());
for( int i = 0; i < cursor.getCount(); i++ )
{
cursor.moveToPosition(i);
// 取得聯絡人名字
int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
String name = cursor.getString(nameFieldColumnIndex);
Log.i("Contacts", "" + name + " .... " + nameFieldColumnIndex); // 這裡提示 force close
m_TextView.setText("聯絡人姓名:" + name);
}
}
}
相關文章
- STM32 上位機 測試藍芽電話功能功能(包括撥打電話/結束通話電話/接聽電話/Audio Transfer/獲取通話電話號碼/獲取本地電話號碼/啟用語音識別/獲取本地號碼/獲取運營商名字/3GPP指令)藍芽
- Android在到處.vcf聯絡人時,vCard獲取不到版本號Android
- android 從SIM卡獲取聯絡人資訊Android
- android 獲取手機號碼Android
- Android程式設計獲取手機型號,本機電話號碼,sdk版本及firmware版本號(即系統版本號)Android程式設計
- 新iPhone漏洞,可繞過密碼訪問聯絡人和照片iPhone密碼
- iOS獲取通訊錄聯絡人資訊iOS
- 影片直播系統原始碼,Android 讀取聯絡人列表原始碼Android
- android ContentResolver的使用(獲取和修改聯絡人資訊demo)Android
- 企業使用CRM時如何區別聯絡人和客戶
- 與眾不同 windows phone (26) - Contacts and Calendar(聯絡人和日曆)Windows
- ios常用功能集合(本地郵件,本地簡訊,撥打電話,獲取聯絡人,加速器,藍芽,WKWebView,地圖)iOS藍芽WebView地圖
- Android獲取手機聯絡人匹配使用者表並按字母A Z排序展示Android排序
- 使用curl獲取google聯絡人列表 (向zend的Gdata say no)Go
- 電話號格式
- 手機號碼和電話號碼合法性驗證程式碼
- 17_電話號碼的字母組合
- PHP根據身份證號碼,獲取性別、獲取生日、計算年齡、獲取地址、獲取生肖、獲取星座、以及判斷是否是身份證號(方法教程)PHP
- 將EXCEL裡的電話號碼用逗號分隔匯出Excel
- 新百勝娛樂公司聯絡電話13099610333996
- PHP獲取QQ群成員QQ號碼PHP
- 【力扣】電話號碼的組合(回溯法)力扣
- ASP.NET獲取CPU序列號,硬碟序列號ID,獲取網路卡編號ASP.NET硬碟
- Java正規表示式——驗證手機號和電話號碼Java
- Android2.0 如何設定和讀取聯絡人的分組(Group)Android
- 大話Android多執行緒(一) Thread和Runnable的聯絡和區別Android執行緒thread
- 教你excel篩選手機號碼公式和excel篩選正常電話號碼Excel公式
- 軟體測試--詳細判斷電話號碼
- 演算法電話號碼對應英文單詞演算法
- Java實現的簡單電話號碼儲存Java
- 17. 電話號碼的字母組合-c++C++
- Java中將電話號碼轉換為數字Java
- 通訊錄檔案中存有若干聯絡人的資訊,每個聯絡人的資訊由姓名和電話號碼組成。編寫程式完成以下功能:輸入姓名,若通訊錄檔案中存在,則將該聯絡人資訊輸出;若不存在,則輸出“Not Found”。
- Mysql中獲取行號MySql
- Android程式碼獲取CPU執行情況Android
- 跨程式共享資料,讀取聯絡人資訊
- 艾飛斯特智慧鎖400客服電話/全國維修總部電話(2024更新號碼)
- Android訪問和載入本地聯絡人的程式碼實現Android