タスクを作成して実行するアクティビティがあり、このタスク内でデータベース接続が作成されます。次に、トランザクションを開始し、データベースに対していくつかの操作を行います。向きの変更が表示されたときにタスクがキャンセルされ、変更後に再開されるようにしたい
したがって、onSaveInstanceState メソッドのタスク内でこのメソッドを呼び出します。
public void cancelTask()
{
if (dbConn.inTransaction())
dbConn.endTransaction();
dbConn.close();
db.close();
this.cancel(true);
}
しかし、onRestoreInstanceState のタスクでタスクを再起動すると、データベースがロックされていると表示されます。また、データベース接続がトランザクションに入っていないように見えることにも気付きました。
誰でもこの問題を解決する方法を教えてもらえますか?