android聯系人查詢
㈠ android如何獲取聯系人所有信息
獲取聯系人必須添加許可權
<uses-permission android:name="android.permission.READ_CONTACTS" />
如何獲取手機聯系人信息
根據ContactsContract.Contacts.CONTENT_URI查詢ContentResolver裡面的數據,逐個取值即可。
如何獲取sim卡的聯系人信息
根據目前查找的信息來看,sim聯系人的uri有兩種:
content://icc/adn
content://sim/adn
挨個去取即可。
㈡ android 聯系人資料庫介紹以及對聯系人的基本操作
聯系人資料庫最重要的三張表
1.raw_contacts表 保存聯系人的id contact_id
2.data 表 保存聯系人的數據 通過raw_contact_id確定數據屬於哪個聯系人
3.mimetypes 表 保存聯系人的數據類型
查詢聯系人的步驟:
1.查詢 raw_contacts表 獲取聯系人的id
2.查詢data表 根據聯系人的id 把這個聯系人的所有的數據給取出來。
㈢ android 怎樣通過手機號模糊查詢聯系人
你可以下載一個電話本軟體,在應用寶上有好多個版本的 在電話本軟體的手機號碼設置上有一個加號點擊一下會提示添加新的號碼 你可以依次填寫所有人的電話號碼來進行輕松記錄 軟體下載可以根據應用寶上的詳細介紹輕松獲取 資源還是比較多的,我下載都會用應用寶,安全性高兼容性還強
㈣ android在聯系人列表界面怎樣實現中文聯系人搜索功能
在安卓系統中的聯系人列表上方,有一個搜索框,輸入你想要查詢的中文聯系人名稱,就可以實現中文搜索功能。若只能搜索英文,可能是你的默認輸入法是英文,需要手動更改為中文輸入。換句話說,你輸入的是英文,則搜索英文,輸入中文,則可以實現搜索中文。
㈤ Android編程,根據姓名獲得手機通訊錄中的電話號碼
java">importcn.teachcourse.R;
/**
*[email protected]/5/5.
*/
{
privatestaticfinalStringTAG=PhoneNameActivity.class.getSimpleName();
privateEditTextet;
publicstaticvoidstart(Contextcontext){
start(context,null);
}
publicstaticvoidstart(Contextcontext,Intentextras){
Intentintent=newIntent();
intent.setClass(context,PhoneNameActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
|Intent.FLAG_ACTIVITY_SINGLE_TOP);
if(extras!=null){
intent.putExtras(extras);
}
context.startActivity(intent);
}
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone_name);
et=(EditText)this.findViewById(R.id.mobile);
}
publicvoidgetTelClick(Viewview){
Stringname=et.getText().toString().trim();
number(name);
}
/**
*通過輸入獲取電話號碼
*/
publicvoidnumber(Stringname){
//使用ContentResolver查找聯系人數據
Cursorcursor=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
//遍歷查詢結果,找到所需號碼
while(cursor.moveToNext()){
//獲取聯系人ID
StringcontactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//獲取聯系人的名字
StringcontactName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
if(name.equals(contactName)){
//使用ContentResolver查找聯系人的電話號碼
Cursorphone=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId,null,null);
if(phone.moveToNext()){
StringphoneNumber=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(this,phoneNumber+"TeachCourse——blog。。。",Toast.LENGTH_SHORT).show();
Log.d(TAG,"電話:"+phoneNumber);
break;
}
}
}
}
}
1、修改getTelClick()方法
2、修改Toast麵包屑提示
3、修改獲取聯系人名字方法
4、位置稍微調整
㈥ android 如何查詢最新添加的聯系人
文是提供了3種方式查詢通訊錄,獲取手機通訊錄中所有聯系人的ID和聯系人姓名。
通過ContentResolver類的query方法,這種方法在主線程中查詢數據,query方法返回資料庫的游標Cursor,需要自己去手動關閉。
通過Activity類的managedQuery方法,這種方法查詢同樣是在主線程中,但是不需要手動關閉Cursor,因為Activity類銷毀時再onDestroy方法中會去關閉。
通過Android提供的非同步查詢框架AsyncQueryHandler,這個類是一個抽象類,提供非同步查詢,當查詢完畢後,會調用onQueryComplete方法,該方法參數cursor是查詢系統資料庫完成後獲得的游標。
㈦ android中如何使用sql語句對聯系人進行聯合查詢
一次性輸入"dl"和"xl"嗎?這個聯合查詢沒法界定啊,你可以看下資料庫的「sort_key」欄位,可以模糊查詢,比如輸入「l」可以查詢出大龍和小龍,根據輸入,自己拼sql。where sort_key grob *[l]*
㈧ android如何獲取通訊錄聯系人信息,並顯示出來
查詢資料庫,一般聯系人的信息都存儲在contacts2.db這個資料庫中,你可以通過ContentProvider來查詢,聯系人的信息的表結構比較復雜,不知道你想要查詢什麼樣的信息?
㈨ android開發怎樣獲取通訊錄聯系人信息
要獲取通訊錄的聯系人信息,只有通過系統聯系人應用的內容提供者,才能訪問到聯系人資料庫,下面有一個代碼演示
代碼演示
privateArrayList<HashMap<String,String>>readContact(){
//首先,從raw_contacts中讀取聯系人的id("contact_id")
//其次,根據contact_id從data表中查詢出相應的電話號碼和聯系人名稱
//然後,根據mimetype來區分哪個是聯系人,哪個是電話號碼
UrirawContactsUri=Uri
.parse("content://com.android.contacts/raw_contacts");
UridataUri=Uri.parse("content://com.android.contacts/data");
ArrayList<HashMap<String,String>>list=newArrayList<>();
//從raw_contacts中讀取聯系人的id("contact_id")
CursorrawContactsCursor=getContentResolver().query(rawContactsUri,
newString[]{"contact_id"},null,null,null);
if(rawContactsCursor!=null){
while(rawContactsCursor.moveToNext()){
StringcontactId=rawContactsCursor.getString(0);
//System.out.println(contactId);
//根據contact_id從data表中查詢出相應的電話號碼和聯系人名稱,實際上查詢的是視圖view_data
CursordataCursor=getContentResolver().query(dataUri,
newString[]{"data1","mimetype"},"contact_id=?",
newString[]{contactId},null);
if(dataCursor!=null){
HashMap<String,String>map=newHashMap<String,String>();
while(dataCursor.moveToNext()){
Stringdata1=dataCursor.getString(0);
Stringmimetype=dataCursor.getString(1);
//System.out.println(contactId+";"+data1+";"
//+mimetype);
if("vnd.android.cursor.item/phone_v2".equals(mimetype)){
map.put("phone",data1);
}elseif("vnd.android.cursor.item/name"
.equals(mimetype)){
map.put("name",data1);
}
}
list.add(map);
dataCursor.close();
}
}
rawContactsCursor.close();
}
returnlist;
}手機聯系人圖片: