【发布时间】:2016-08-30 01:52:27
【问题描述】:
我正在尝试设置一个 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)' 为空 对象引用
我仍然可以正常打开原始数据库。但是当我复制它时,似乎正在发生一些事情。任何见解都会有很大帮助。谢谢
【问题讨论】:
-
张贴您的代码先生
-
无代码。我只是使用应用程序 Root Explorer 来复制数据库。
-
您是在复制自己的应用数据库吗?或其他数据库到您的应用程序?
-
这与编程无关。你只是在使用你的安卓设备时遇到了麻烦。当然,我们不能投票关闭有悬赏的问题。
-
您完全进入了错误的网站来提问。您不是在 Tasker 中编写程序(尽管看起来可能是这样,但我保证您不是)。这就是大家一直在说的。您的问题完全与最终用户功能有关,而不是应用程序的开发。为了获得更好的结果和更少的攻击,您可以使用“Android Enthusiasts”堆栈交换。
标签: java android sqlite tasker