Context.getDir()Intent.ACTION_VIEW
を介してアクセスできるアプリの内部メモリに保存されているファイルを、タイプ"text/plain"
とファイル URI を引数として起動して、利用可能な外部テキスト エディタで編集できるようにしたいと考えています。外部エディターは sdcard 上のファイルをうまく処理しますが、Context.getDir()の下のファイルにアクセスすることはできません。
getDir()
asを呼び出してContext.getDir("data", Context.MODE_WORLD_WRITEABLE)
いますが、インテントを介して URI を外部エディターに渡すと、まだアクセス拒否エラーが発生します。
ドキュメントによると、他のアプリへのアクセスを有効にしてファイルを変更するには、に渡すだけで十分MODE_WORLD_WRITEABLE
なgetDir()
はずですが、そうではないようです。または、何か不足していますか?
問題は/data/data/app.package/
、SD カードにファイルのコピーを作成したり、root のスーパーパワーに頼ったりせずに、他のアプリが特定のファイルを変更できるようにする方法です。