ダウンロードしたファイルがSDカードまたは内部メモリに保存されている場合、ユーザーはアクセスできるため、基本的にこれを行っています。
まず、「内部メモリ」は「アプリケーション データ スペース」です。「アプリケーション データ スペース」とは、RAM ではなくファイル ストレージを指すものとします。Android で書き込みできる場所は、内部ストレージと外部ストレージの 2 つだけです。
2 つ目は、デバイスをルート化するなどして、内部ストレージにあるファイルにアクセスしたいユーザーがアクセスできることです。
だから私の質問は、ユーザーがサードパーティのアプリケーションでファイルをタップしたときにファイルを開きたいということです。ファイルがダウンロードされると、開くかどうかが表示されます。[開く] をタップすると、他のサードパーティ アプリケーションで開く必要があります。たとえば、abc.doc をダウンロードすると、さまざまなリーダーから開くように求められます。
MODE_WORLD_READABLE
を使用してファイルを作成するときに、ファイルを作成することを選択できますopenFileOutput()
。これにより、一部のサードパーティ アプリケーションがファイルにアクセスできるようになる場合があります。または、ContentProvider
このファイルを提供するために を実装することもできます。これらのいずれも、ユーザーがファイルにアクセスできるようにします (たとえば、これらのビューアー アプリの「共有」オプションを介して)。これは、元の目的に反します。
アプリ以外のユーザーがファイルにアクセスできないようにする唯一の方法は、アプリがファイルを表示 (または操作) する場合です。そして、上で述べたように、ルート化されたデバイスの所有者は、ファイルにアクセスすることを選択できます。