【发布时间】:2013-01-03 16:01:24
【问题描述】:
在添加或更新构建自定义联系人提供程序的联系人时,如何将联系人的电话号码设置为主号码。联系人的添加和更新工作正常,但我不知道如何将联系人的一个号码设置为主号码或默认号码。
【问题讨论】:
标签: android contacts android-contentprovider android-contacts android-syncadapter
在添加或更新构建自定义联系人提供程序的联系人时,如何将联系人的电话号码设置为主号码。联系人的添加和更新工作正常,但我不知道如何将联系人的一个号码设置为主号码或默认号码。
【问题讨论】:
标签: android contacts android-contentprovider android-contacts android-syncadapter
mValues.put(Phone.IS_PRIMARY, 1);
mValues.put(Phone.IS_SUPER_PRIMARY, 1);
Phone.IS_PRIMARY 和 Phone.IS_SUPER_PRIMARY 都必须设置。
【讨论】:
我遇到了同样的问题,我的解决方法是:
ContentProviderOperation.Builder bld = ContentProviderOperation.newUpdate(Uri.withAppendedPath(ContactsContract.Data.CONTENT_URI, myRawIdOfNumber ));
bld = bld.withValue( ContactsContract.CommonDataKinds.Phone.IS_PRIMARY, new Integer(1) );
bld = bld.withValue( ContactsContract.CommonDataKinds.Phone.IS_SUPER_PRIMARY, new Integer(1) );
ops.add( bld.build() );
try { getContentResolver().applyBatch( ContactsContract.AUTHORITY, ops ); } catch ...
【讨论】: