在android程式的開發中,經常要實現的乙個功能是呼叫系統自帶的聯絡人介面,做到選擇人之後,取得相應的名稱和號碼。而android2.0前後實現方式上也有一些差別,主要是2.0版本後聯絡人api發生了變化,由原來的contacts變成了contactscontract。
一 2.0之前取聯絡人列表的方式:
宣告意圖方式一
intent intent = new intent();
intent.setaction(intent.action_pick);
intent.setdata(contacts.people.content_uri);
startactivityforresult(intent,
pick_contact
);
宣告意圖方式二
intent intent = new intent(intent.action_pick);
intent.settype("contacts.people.content_type");//vnd.android.cursor.dir/person
startactivityforresult(intent,
pick_contact
);
實現onactivityresult
protected void onactivityresult (int requestcode, int resultcode, intent data)
uri uri = data.getdata();
cursor cursor = getcontentresolver().query(uri, null, null, null, null);
cursor.movetofirst();
string number = cursor.getstring(cursor.getcolumnindexorthrow(phones.number));
log.d(tag, "number" + number);
mcontacttext.settext(number);
mcontacttext.setselection(number.length());
break;
default:
break; }
} 二 2.0之後取聯絡人列表的方式:
宣告意圖方式一
intent intent = new intent(intent.action_pick, contactscontract.contacts.content_uri);
startactivityforresult(intent, pick_contact);
宣告意圖方式二
intent intent = new intent(intent.action_pick);
intent.settype(contactscontract.contacts.content_type);//vnd.android.cursor.dir/contact
startactivityforresult(intent, pick_contact);
實現onactivityresult
@override
public void onactivityresult(int reqcode, int resultcode, intent data)
phones.close();
}
}
}
break;
}
}
Android操作聯絡人
android系統中的聯絡人也是通過contentprovider來對外提供資料的,我們這裡實現獲取所有聯絡人 通過 號碼獲取聯絡人 新增聯絡人 使用事務新增聯絡人。獲取所有聯絡人 1.android系統中的聯絡人也是通過contentprovider來對外提供資料的 2.資料庫路徑為 data d...
Android操作聯絡人
一 聯絡人資料庫 聯絡人的資料庫檔案的位置 data data com.android.providers.contacts databases.contacts2.db 資料庫中重要的幾張表 1 contacts表 該錶儲存了所有的手機測聯絡人,每個聯絡人佔一行,該錶儲存了聯絡人的 contact...
android 聯絡人詳解
操作聯絡人工程需要許可權,不然會報錯。android聯絡人是用資料庫儲存的,資料庫結構如下 raw contacts表 主要儲存了每個聯絡個的唯一表示欄位 id欄位。data表 raw contact id就是raw contacts中的 id欄位,所有raw contact id值相同的都是 同乙...