如何手动从adb备份恢复OnePlus One的通话记录?(短信已恢复)

43次阅读
没有评论

问题描述

在使用OnePlus One手机时,进行了adb备份,并成功恢复了短信历史。但在尝试恢复通话记录时遇到了困难。用户不确定应该从哪个文件夹恢复通话记录,也无法确定应将通话记录恢复到哪个位置。虽然用户已经确认通话记录数据库位于 /data/data/com.android.providers.contacts/databases/ 文件夹中,但他无法找到相应的备份文件夹,因此询问是否有其他方法来恢复通话记录。

解决方案

方案1

注意

请留意以下操作可能存在的版本差异,请在执行前做好备份。

解决步骤

根据开发者在CM11版本中所做的更改,通话记录并未被包含在ADB备份中。具体原因如下:

  1. 查看源码
  2. CM11版本的 Telephony Provider(电话提供者)去掉了 android:allowBackup="false" 这个标志,而 Contacts Provider(联系人提供者)保留了这个标志。
  3. Telephony Provider 用于存储短信和通话记录,Contacts Provider 用于存储联系人和通话记录。
  4. 默认情况下,ADB不会备份这些私有内容,除非设置了 android:allowBackup="true"

  5. 检查ADB备份

  6. 检查你的ADB备份文件夹,确认其中是否包含 Telephony Provider 的数据库文件。
  7. 如果备份中确实包含了 Telephony Provider 的数据库文件,那么你可以尝试将这些文件恢复到新设备的相应位置。

  8. 恢复步骤

  9. 打开终端,使用以下命令将备份文件恢复到新设备:
    sh
    adb push /path/to/backup/file /data/data/com.android.providers.telephony/databases/
  10. 确保目标文件夹的权限设置正确,以便新设备可以访问这些文件。

  11. 重启设备

  12. 恢复完成后,重启设备以应用更改。

方案2

注意

此方法可能需要更多的手动操作,并且需要确保通话记录数据库的路径正确无误。

解决步骤

如果ADB备份中确实没有包含通话记录数据库,可以考虑使用其他方法来恢复通话记录。例如,使用Google的联系人同步功能来恢复通话记录。

  1. 使用Google联系人同步
  2. 登录你的Google账号,确保联系人和通话记录已同步到Google云端。
  3. 在新设备上安装Google联系人应用,然后登录你的Google账号。
  4. 应用会自动从云端同步联系人和通话记录。

  5. 检查设备上的其他备份

  6. 检查设备上的其他备份方法,例如使用Titanium Backup等第三方备份工具。
  7. 如果有其他备份工具,可以尝试使用这些工具来恢复通话记录。

综上所述,由于CM11版本的开发者决定不将通话记录包含在ADB备份中,因此直接通过ADB恢复通话记录的方法不可行。建议使用Google联系人同步或其他第三方备份工具来恢复通话记录。

正文完