如何解决备份与恢复应用中部分联系人清除冗余失败?

2018-06-28  本文已影响0人  采蘑菇的小白菜

[QUESTION]

如何解决备份与恢复应用中部分联系人清除冗余失败?

[ANSWER]

出现冗余的原因在于号码信息中包含格式化的空格信息,在保存联系人信息的时候去掉号码的格式化信息芯方式

修改文件:ContactsProvider2.java

修改内容:

diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java

index 51e5124..482829c 100644

--- a/src/com/android/providers/contacts/ContactsProvider2.java

+++ b/src/com/android/providers/contacts/ContactsProvider2.java

@@ -2996,6 +2996,14 @@ public class ContactsProvider2 extends AbstractContactsProvider

mValues.put(DataColumns.MIMETYPE_ID, mDbHelper.get().getMimeTypeId(mimeType));

mValues.remove(Data.MIMETYPE);

+ if (mimeType.equals(Phone.CONTENT_ITEM_TYPE)) {

+ String number = mValues.getAsString(Phone.NUMBER);

+ if (!TextUtils.isEmpty(number)) {

+ number = PhoneNumberUtils.stripSeparators(number);

+ mValues.put(Phone.NUMBER, number);

+ }

+ }

+

DataRowHandler rowHandler = getDataRowHandler(mimeType);

final SQLiteDatabase db = mDbHelper.get().getWritableDatabase();

id = rowHandler.insert(db, mTransactionContext.get(), rawContactId, mValues);

上一篇 下一篇

猜你喜欢

热点阅读