この質問にはさまざまなバージョンがありますが、私の問題のための最良のアプローチについて明確な答えが得られていませんでした。Android SDCard I/Oマウントとアンマウントを管理する
私がやっていることは、SDカードにSQLiteデータベースを作成していることです。私はそれからクエリをしてそれに書き込むことができるようにしたい。
私は持っている質問は、SDカードがマウントされていないときに管理する最良の方法です。 MP3プレイヤーのようにアプリケーションを閉じても問題ありません。ただし、dbへの書き込み操作が部分的に行われないようにしたいと思います。
私が持っていた考えの1つは、beginTransactionを使用して、それを成功としてマークし、end transactionを呼び出します。私が持っている質問は、トランザクションの終了が呼び出されないとどうなるかです。潜在的にデータ破損につながる可能性はありますか?また、アンマウントされたsdカードの通知を受け取るために何を聞くべきか理解するための助けが必要です。データベース内のトランザクションの素晴らしいところです
おかげ
パトリック、あなたはどのようにsdカードがアンマウントされた後にアプリケーションを閉じるための任意の洞察力を持っていますか? –
こんにちは。部分的にはい。あなたのアプリが外部ストレージにインストールされている場合、ストレージがアンマウントされたらAndroidシステムによって閉じられます[ref](http://developer.android.com/guide/appendix/install-location.html)。データベースのみが外部ストレージにインストールされている場合は、ACTION_MEDIA_EJECTインテント用のブロードキャストレシーバの登録に興味があります。[post](http://stackoverflow.com/questions/6293886/not-getting-the-sd-カード関連のインテントから私の放送受信機)。 – Patrick