【问题标题】:Android Nougat - Contacts Schema IncorrectAndroid Nougat - 联系人架构不正确
【发布时间】:2017-04-13 17:21:39
【问题描述】:

我有这个问题;

ContentProvider (contacts) - no such column: metadata_dirty

我的手机是 HTC 10 的股票,不是 root。

我正在努力解决它。

选项 1 似乎是 root 手机,安装 sqlite3,然后运行更改表查询。

不想让我的手机root,我打算选择选项2(我猜可能);获取模板应用程序并修改以运行更改表查询一次。

这就是我卡住的地方 - 如何在不使用似乎不提供任何 ALTER TABLE 功能的处理程序的情况下访问 RAW 联系人数据库?

【问题讨论】:

    标签: android


    【解决方案1】:

    如何在不使用似乎不提供任何 ALTER TABLE 功能的处理程序的情况下访问 RAW 联系人数据库?

    您需要 root 设备。出于明显的隐私原因,联系人数据库不在任何应用程序可以访问的地方。相反,联系人数据库是联系人应用专用内部存储的一部分,您的应用无法直接访问该数据库。

    【讨论】:

    • 感谢您对此的反馈。我猜想备份应用程序在恢复时破坏了我的联系人列表架构。但是手机设置、配置、恢复、然后升级,所以这不应该发生。如果备份应用不能直接写入数据库,那手机到底是怎么进入这种状态的呢?
    • @user3800535:打败我。您的解决方法是提供一个明确的列列表。不知何故,ContactContract 提供程序与其数据库结构不同步。它的默认列列表包括这个神秘的metadata_dirty 列。如果您只是避免使用该列(以及任何其他缺失的列),您的代码应该可以工作。
    猜你喜欢
    • 2013-03-26
    • 2018-01-09
    • 1970-01-01
    • 2016-01-08
    • 2011-05-13
    • 1970-01-01
    • 2021-12-30
    • 2017-10-08
    • 2016-10-22
    相关资源
    最近更新 更多