马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
在预置联系人实现置顶的条件下,备份恢复后如何保证预置联系人置顶?
[QUESTION]
在预置联系人实现置顶的条件下,对联系人进行“备份与恢复”的操作,完成“恢复”操作后,置顶的预置联系人被删除,新增预置联系人不再有置顶效果。
[ANSWER]芯方式
解决方案如下:
不“备份”预置联系人,只“备份”新建联系人,“恢复”联系人时选择“消除冗余”不会影响预置联系人,只会把重复的新建联系人删除。
Contacts中修改一个文件:
修改AppBackupService.java文件,该文件是选择“备份与恢复”后启动的服务,修改“备份”选项中查询数据库的条件,只去查询RAW_CONTACT_IS_READ_ONLY=0的联系人,文件路径
为/src/com/sprd/contacts/appbackup/AppBackupService.java
修改内容如下:
@@ -211,11 +211,15 @@ public class AppBackupService extends Service {
selection.append(" OR ");
} in
it = false;
+
selection.append("(" + RawContacts.ACCOUNT_TYPE + "=?");
selection.append(" AND ");
- selection.append(RawContacts.ACCOUNT_NAME + "=?)");
+ selection.append(RawContacts.ACCOUNT_NAME + "=?");
+ selection.append(" AND ");
+ selection.append(RawContacts.RAW_CONTACT_IS_READ_ONLY + "=?)");
Log.e(TAG, "account.getAccountType(): " + account.getAccountType());
Log.e(TAG, "account.getAccountName(): " + account.getAccountName());
+
selectionArgs.add(account.getAccountType());
if (PhoneAccountType.ACCOUNT_TYPE.equals(account.getAccountType())) {
selectionArgs.add(AccountTypeManager.getInstance(mContext)
@@ -223,6 +227,7 @@ public class AppBackupService extends Service {
} else {
selectionArgs.add(account.getAccountName());
}
+ selectionArgs.add("0");
} s
election.append(")))");
if (!composer.init(selection.toString(), |