0

私はいくつかのことをしなければなりません。各画像のダウンロードが成功した後、「AES」暗号化アルゴリズムを使用してその画像を暗号化しています。暗号化に成功しました。しかし、デバイスのギャラリーを開くたびに、ダウンロードした画像が暗号化されているのを見ることができます。私はそれをしたくありません。ギャラリーからのアクセスを防ぐことができる画像を保護したい。

ここでプロセス全体を理解しました。ダウンロード後に各画像を保存するとき、ギャラリーはその画像をキャプチャしてそのキャッシュに保存するため、暗号化プロセスの前にギャラリーがその画像を入力する可能性があります。

-> 私の暗号化プロセス: イメージのダウンロード -> SDCARD への保存 -> イメージの暗号化 -> 実際のイメージの削除

ただし、これはギャラリーからも削除されません。

要するに、ギャラリーからのアクセスを防ぐことができる画像を保護したいのです。私のプロセスに関するあなたの最良の提案が正しいか間違っているか教えてください。それにいくつかの変更を加える必要がありますか?または、私のプロセスの代わりにいいアイデアがありますか?

最高の提案をありがとう。

4

3 に答える 3

4

という空のファイルを images フォルダーに追加する必要があります.nomedia。これにより、MediaScanner がそのフォルダー内の画像のインデックスを作成できなくなります。

ただし、これを少し難しくするバグが ICS にあります。ICS では、フォルダーに画像を追加する.nomediaに現在のフォルダーが存在する必要があります。そうでない場合、画像はインデックス化されます。

もう 1 つのやや準拠性の低いオプションは、フォルダー名をドット (. のようなもの.foldername) で始めることです。Android は UNIX ベースであるため、これにより隠しフォルダーが作成され、MediaScanner によってスキャンされなくなります。

于 2013-01-24T13:55:33.743 に答える
0

私は適切な解決策を持っています。これは、より高いバージョンでも機能します。

次のディレクトリを使用して、アプリケーションのプライベートフォルダーでプライベートに保つことができます:

String mDirectory = getPackageManager().getPackageInfo("com.example.myapp", 0).applicationInfo.dataDir;

個人データをこのパッケージに保存できます。アクセスを防ぎ、Gallery からのインデックス作成を防ぎます。したがって、暗号化プロセスについても心配する必要はありません:)。このフォルダでは十分なスペースが提供されない可能性があります。しかし、少なくともそれは私たちを助けるでしょう.

于 2013-01-25T11:29:06.473 に答える
0

以下のような解決策は、すべてのバージョンで機能する可能性があります - (他の人がアクセスできないビデオ、画像、およびオーディオファイルを保存する)

このためには、.(ドット) で始まるフォルダー名を作成して外部ストレージにデータを保存する必要があります。このフォルダーは FileExplorer から隠されています。このフォルダーでは、.nomedia ファイルを作成し、画像とビデオを配置する必要があります。画像とビデオは Gallery.nomedia フォルダーのユーザーに表示できません。ギャラリーはファイルを読み取ることができません。

于 2015-03-27T03:38:20.843 に答える