私は、サーバーからダウンロードしたファイルを保存するアプリケーションを持っています。これらのファイルは私のアプリケーションにとってプライベートではなく、他のアプリケーションからもアクセス可能でなければなりません。私は、SDカードがなくなったときにこれらのファイルを保存する正しいパスが何かを知りたい。内部ストレージにパブリックファイルを保存する
getExternalStorageDirectory()
内部メモリにアプリケーションのプライベートデータのためにそこにある - - SDカードの場合は、よく知られたAPIがあり、いくつかのデバイスでは
Context.getFilesDir()
、内蔵メモリは/ EMMCで表され、 /。
誰かが/ emmc /を詳しく調べることができれば、本当に役に立ちます。私はそれが内蔵メモリカードの略で、すべてのデバイスに存在しないことを知っています。しかし、それは本当に内部の記憶を代表していますか?それとも3番目の記憶ですか?
openFileOutput()
を使用してファイルを保存する必要があります。MODE_WORLD_READABLE
?
ありがとうCommonsWare!はい、私のアプリケーションがACTION_VIEWで他のアプリケーションを起動するのは、これらのファイルを公開しているのとまったく同じ理由です。また、いくつかのファイルエクスプローラとアプリケーションがSDカードと内部メモリをスキャンするにつれて、これらのファイルを見つけることができるようにしたいと考えています。だから、私の質問は、SDカードが見つからない場合は、ファイルを保存するには、残っている? – Akshay
@Akshay:「一部のファイルエクスプローラとアプリケーションがSDカードと内部メモリをスキャンするため、これらのファイルを見つけることができるようにしたい」 - それは不可能です。そうであれば、それは大きなセキュリティホールです。 "だから、私の質問は、SDカードが見つからない場合にファイルを保存する場所が残っていますか?" - 'getFilesDir()' – CommonsWare
ありがとうCommonsWare!私はこれを明確に理解しようとしています。私のアプリケーションは添付ファイルをダウンロードする電子メールクライアントと比較することができ、ドキュメント閲覧者とメディアプレーヤーはこれらのファイルを開くことができます。 SDカードがない場合、電子メールクライアントはファイルをどこに保存しますか?内部メモリにパブリックディレクトリはありませんか?/internal_memory/downloadsのようなもの?内部メモリをセキュリティホールとしてスキャンするのはなぜですか?確認するだけで、内部メモリはデバイス/携帯電話のメモリを意味します。ごめんなさい。 – Akshay