Android Nougat-联系人架构不正确
我有这个问题 我的手机是股票,不是根,宏达10 我正在努力解决它 选项1似乎是根电话,安装sqlite3,并运行alter table查询 我宁愿不使用我的手机根目录,我选择了选项2(我猜是可能的);使用模板应用程序并修改以运行ALTERTABLE查询,一次 这就是我被困的地方——如何在不使用似乎不提供任何ALTERTABLE功能的处理程序的情况下访问原始联系人数据库 如何在不使用似乎不提供任何ALTER TABLE功能的处理程序的情况下访问原始联系人数据库Android Nougat-联系人架构不正确,android,Android,我有这个问题 我的手机是股票,不是根,宏达10 我正在努力解决它 选项1似乎是根电话,安装sqlite3,并运行alter table查询 我宁愿不使用我的手机根目录,我选择了选项2(我猜是可能的);使用模板应用程序并修改以运行ALTERTABLE查询,一次 这就是我被困的地方——如何在不使用似乎不提供任何ALTERTABLE功能的处理程序的情况下访问原始联系人数据库 如何在不使用似乎不提供任何ALTER TABLE功能的处理程序的情况下访问原始联系人数据库 您需要在设备上设置根目录。出于明显
您需要在设备上设置根目录。出于明显的隐私原因,联系人数据库并不是任何应用程序都可以访问的地方。相反,联系人数据库是专用于联系人应用程序的内部存储的一部分,您的应用程序无法直接访问该数据库。感谢您的反馈。我猜备份应用程序在还原时破坏了我的联系人列表架构。然而,手机安装、配置、恢复、然后升级,所以这不应该发生。如果备份应用程序无法直接写入数据库,那么手机究竟是如何进入这种状态的?@user3800535:真让我吃惊。您的解决方法是提供一个显式的列列表。不知何故,
ContactContract
提供者与其数据库结构不同步。它的默认列列表包括这个虚构的metadata\u dirty
列。如果您只是避免使用该列(以及任何其他缺少的列),那么您的代码应该可以工作。