网友通过本文主要向大家介绍了ContentProvider中央档案馆,以及获取联系人电话的示例,contentprovider等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
ContentProvider中央档案馆,以及获取联系人电话的示例,contentprovider
Android官方文档介绍的数据存储方式共有五种,sqlite,SharedPreferences,网络存储,外储存储,文件存储,但是这些数据都无法进行共享,那么我们就引入了今天的主角:ContentProvider// 通过隐式意图打开通讯录
Intent intent =newIntent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent,1001);
// 获取选择后的返回结果
@Override
protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode ==1001){
if(resultCode == RESULT_OK){
ContentResolver resolver = getContentResolver();
Uri uri = data.getData();
//uri = content://com.android.contacts/contacts/lookup/0r5-D9ADC7B9BBC9C7B9DBBDADC9/5
Cursor cursor = resolver.query(uri,null,null,null,
null);
if(cursor.moveToFirst()){
for(int i =0; i < cursor.getColumnCount(); i++){
Log.i("-->", cursor.getColumnNames()[i]+":"+ cursor.getString(i));
}
sort_key:wang hongxiao
photo_uri:null
send_to_voicemail:0
contact_status:null
contact_status_label:null
pinned:0
display_name:wang hongxiao
phonebook_label_alt:H
phonebook_bucket:23
contact_status_res_package:null
in_default_directory:1
photo_id:null
custom_ringtone:null
_id:5
times_contacted: