我正在尝试设置一个 Tasker 任务,该任务将删除时钟中的所有警报。我在我的旧手机上进行了设置并且工作得很好。我所做的是在没有警报时复制警报数据库。当我想删除当前设置的警报时,Tasker 会运行一个 shell 命令来删除当前包含警报的数据库。然后 Tasker 运行一个 shell 命令来复制空数据库并重命名它。然后是一些更改权限和所有者的命令。
当我试图将这一切转移到我的新手机上时,我遇到了一些麻烦。这款新手机是物有所值的一加 3。所以我把所有的东西都复制了一遍,唯一看起来需要改变的是shell命令的包名。我改变了它并尝试了Tasker任务。没运气。时钟应用程序冻结了。我从备份中恢复了所有内容。我决定做一些测试,看看问题出在哪里。
我使用 Root Explorer 应用程序来复制警报数据库。当我尝试打开复制的数据库时,我收到以下错误消息:
打开数据库时出错。尝试调用虚拟方法 'android.database.Cursor android.database.sqlite.SQLiteDatabase.query(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java .lang.String, java.lang.String, java.lang.String)' 在空对象引用上
我仍然可以很好地打开原始数据库。但是当我复制它时,似乎正在发生一些事情。任何见解都会有很大帮助。谢谢