SAF を使用して、ファイル プロバイダーにファイルを作成します。次に onActivityResult で、そのファイルへのアクセス許可を保持し、Uri を共有設定に保存します。後でファイルにデータを書き込みます。
これはうまくいくようです。ファイルが削除/移動/名前変更された場合、または基本的にファイルが存在しない場合を除きます。
次を使用して、存在するかどうかを確認できます。
val file = DocumentFile.fromSingleUri(applicationContext, uri)
if (!file!!.exists())
contentResolver.openOutputStream(uri)
しかし、これでは、 を使用してデータを書き込めないという問題は解決しませんFileNotFoundException
。
保存された Uri を使用してファイルを作成する方法はありますか?