9

ギャラリーからいくつかの写真を選択して非表示にするAndroidアプリケーションを開発しています。

ギャラリーから特定の写真を選択してアプリに保存してギャラリーから削除することはできますが、SDカードでアプリフォルダを開くとその写真を見ることができます。私のSDカードでは、彼はそれらの写真を検出できないはずですか?

4

6 に答える 6

11

これを行う唯一の安全な方法は、画像データを自分で暗号化し、元のファイルを削除して、アプリケーションのみがファイルを復号化できるようにすることです。

AndroidでAESを使用してSDカードからファイルを暗号化する方法をご覧ください。これをどのように行うことができるかを確認します。

追加の手順として、他の任意の数の回答を使用して、暗号化されたファイルを非表示にすることもできます

于 2012-11-07T13:43:55.257 に答える
8

Galleryがアプリのフォルダーの画像を表示しないようにする場合は.nomedia、そのフォルダーに名前の付いたファイルを配置できます。

ソース:https ://stackoverflow.com/a/6713863/450534

たとえばファイルマネージャなどでフォルダが表示されないようにする場合は、フォルダがピリオド(。)で始まることを確認してください。たとえば、フォルダの名前がmyfolderの場合、 .myfolderとして作成する必要があります。

ソース:https ://stackoverflow.com/a/5878270/450534

ユーザーはファイルマネージャーの設定を変更して、隠しファイルと隠しフォルダーを表示できることに注意してください。そのための解決策はありません。

于 2012-11-07T12:23:57.560 に答える
2

フォルダを非表示にする場合は、「。」を追加するだけです。フォルダ名のプレフィックスとして。

于 2012-11-07T12:15:40.490 に答える
1

Galleryがアプリのフォルダーの画像を表示しないようにする場合は、そのフォルダーに.nomediaという名前のファイルを配置できます。

たとえばファイルマネージャなどでフォルダが表示されないようにする場合は、フォルダがピリオド(。)で始まることを確認してください。たとえば、フォルダの名前がmyfolderの場合、.myfolderとして作成する必要があります。

File sdCard = Environment.getExternalStorageDirectory(); File dir = new File(sdCard.getAbsolutePath() + "/.myFolder" );

于 2014-12-12T11:01:25.910 に答える
0

これを参照してください。それはもう1ステップで実行されます。彼らはまた、フォルダだけでなくデータも隠しています。

AndroidのSDカードでフォルダを非表示にする方法

于 2012-11-07T12:14:41.520 に答える
0

SDカードフォルダのパスを次のように使用します

Environment.getExternalStorageDirectory().toString()+context.getPackageName+"//data//data//"+"(.folderName)";

これにより、画像に最大限のセキュリティが提供されます。ユーザーの電話がルート化されていない場合、このパスはあらゆる面で安全です。

于 2012-11-07T12:42:35.917 に答える