Android 如何将电话号码、电子邮件、网站等添加到现有联系人中
我正在开发一个应用程序,其中,我必须添加电话号码,电子邮件,网站,地址等我现有的联系人点击一个按钮 点击按钮的功能在这里Android 如何将电话号码、电子邮件、网站等添加到现有联系人中,android,Android,我正在开发一个应用程序,其中,我必须添加电话号码,电子邮件,网站,地址等我现有的联系人点击一个按钮 点击按钮的功能在这里 private void updateContact(String name) { Log.d(TAG, "in updatecontact()"); Log.d(TAG,"Contact name to be updated = "+name); ContentResolver cr = getContentResolver(); String where
private void updateContact(String name)
{
Log.d(TAG, "in updatecontact()");
Log.d(TAG,"Contact name to be updated = "+name);
ContentResolver cr = getContentResolver();
String where = ContactsContract.Data.DISPLAY_NAME + " = ? AND " +
ContactsContract.Data.MIMETYPE + " = ? AND " +
String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE) + " = ? ";
String[] params = new String[] {name,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE,
String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME)};
Cursor phoneCur = managedQuery(ContactsContract.Data.CONTENT_URI, null, where, params, null);
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
if ( (phoneCur == null) ) {
add_new_contact();
} else {
// Phone no
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, params)
.withValue(ContactsContract.CommonDataKinds.Phone.DATA, Tel)
.build());
// Email
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, params)
.withValue(ContactsContract.CommonDataKinds.Email.DATA, Email)
.build());
// Website
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, params)
.withValue(ContactsContract.CommonDataKinds.Website.DATA, Url)
.build());
//Organization
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, params)
.withValue(ContactsContract.CommonDataKinds.Organization.DATA, Org)
.build());
}
phoneCur.close();
try {
cr.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}}
private void updateContact(字符串名称)
{
d(标记“in updatecontact()”);
Log.d(标签,“要更新的联系人姓名=”+姓名);
ContentResolver cr=getContentResolver();
字符串,其中=contacts contract.Data.DISPLAY_NAME+“=”和“+
Contacts contract.Data.MIMETYPE+“=”和“+
String.valueOf(ContactsContract.CommonDataTypes.Phone.TYPE)+“=?”;
字符串[]参数=新字符串[]{name,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE,
String.valueOf(ContactsContract.CommonDataTypes.Phone.TYPE_HOME)};
游标phoneCur=managedQuery(ContactsContract.Data.CONTENT_URI,null,其中,参数,null);
ArrayList ops=新的ArrayList();
如果((phoneCur==null)){
添加新联系人();
}否则{
//电话号码
添加(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT\uURI)
.选择(其中,参数)
.带值(contacts contract.commondatacates.Phone.DATA,Tel)
.build());
//电子邮件
添加(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT\uURI)
.选择(其中,参数)
.withValue(contacts contract.commondatatypes.Email.DATA,Email)
.build());
//网站
添加(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT\uURI)
.选择(其中,参数)
.withValue(ContactsContract.CommonDataTypes.Website.DATA,Url)
.build());
//组织机构
添加(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT\uURI)
.选择(其中,参数)
.withValue(contacts contract.CommonDataKinds.Organization.DATA,Org)
.build());
}
phoneCur.close();
试一试{
cr.applyBatch(联系合同管理局,ops);
}捕获(远程异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(操作应用程序异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}}}
我无法更新我的联系人。我假设您不知道如何更新,这是您的问题 这可能会有帮助
ContentResolver cResolver = context.getContentResolver();
public void AddToContact()
{
insertContentValues(cResolver, Contacts.Phones.CONTENT_URI, getPhoneCV(phone));
}
public ContentValues getPhoneCV(RowData data) {
ContentValues cv = new ContentValues();
String PhoneNumber = "055434553";
cv.put(Contacts.Phones.NUMBER,PhoneNumber );
return cv;
}
private Uri insertContentValues(ContentResolver cResolver, Uri uri, ContentValues cv) {
if (cv != null) {
return cResolver.insert(uri, cv);
}
return null;
}
很高兴知道您正在开发一个应用程序。希望你一切顺利。顺便说一句,你为什么发这个?这不完全是个问题,是吗?基于什么,你发布了这个答案???我不明白?答案有什么问题?你能告诉我那边的问题是什么吗?你能读一下问题的标题吗!!!!伙计们,我只需要点击一个按钮就可以更新我现有的联系人。我已经编辑了我的问题。你可以查一下。