我有一个场景,在我的应用程序的同一运行时,可以删除所有本地数据库,然后使用新加密重新创建。它是一个边缘案例,但它可能。
问题是,系统维护与这些数据库的开放连接,因为它们是通过内容提供商访问的,至少这是我的理解。当我尝试在删除旧数据库后在同一运行时创建/写入新数据库时,我收到一个崩溃说数据库是只读的。如果我杀了应用程序并重新打开它们就可以了。
我尝试使用finishAffinity()
手动终止该应用,但实际上并没有杀死该应用至少足以让系统清理数据库连接。
有什么方法可以强制系统关闭与数据库的开放连接?
答案 0 :(得分:0)
如果您使用数据库并以读取模式打开连接,则无法在数据库中更新或添加数据。 您必须关闭由您打开的数据库
db.close();
最后。