2

Androidアプリで画像を作成して保存します。

File dir = new File(Environment.getExternalStorageDirectory(), ".myappname/saved");
File imageFile = new File(dir, "IMG" + random() + ".jpg");
FileOutputStream out = new FileOutputStream(imageFile);
bi.compress(Bitmap.CompressFormat.JPEG, 100, out);

再起動した後でも、画像はギャラリーに表示されません。

更新:コードの一部のみを表示します!StackOverFlowメッセージを書くときに導入したタイプミスも修正しました。画像はうまく保存されます-そして私はそれらを見ることができます-それらはギャラリーに表示されません。「.myappname」からドットを削除しました。ギャラリーに画像が表示されていません。変。以下で言うように、他のアプリは画像をドットフォルダーに保存し、ギャラリーに表示します:(

4

4 に答える 4

1

SDCARD/「いくつかのフォルダ」にファイルを保存するとギャラリーに反映されます。ギャラリーアプリはプライベートスペースからの画像を表示しません。コードの次の行を変更します

 File fwdir = new File(Environment.getExternalStorageDirectory(), "myappname/saved");

編集:-削除されました。ディレクトリ名から。隠しフォルダになるので。

于 2012-06-05T09:00:08.300 に答える
1

フォルダ名の前に「.」を付けて、隠しフォルダを作成しています。(ピリオド) メディア スキャナはこれを無視します。少なくとも、同じことを手動で行うときに見られる動作です。コードで試したことはありません。この投稿のオプション 2 を見てください http://www.makeuseof.com/tag/hide-private-picture-folders-gallery-android/

于 2012-06-05T09:11:47.590 に答える
0

あなたの現在の問題はです。ファイルパスに表示されるため非表示になりますが、場合によっては、
ギャラリーはプライベートスペースから画像を取り込まない
ため、コードを使用して ください


sendBroadcast(new Intent( Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
あなたのonDestroy()メソッドで`。
このリンクを確認してください
http://rajareddypolam.wordpress.com/2013/01/29/android- Saving-file-to-external-storage/

于 2013-10-14T18:37:49.160 に答える
0

この関数をアクティビティに記述します...

プライベート void scanFile(文字列パス) {

        MediaScannerConnection.scanFile(MainActivity.this,
                new String[] { path }, null,
                new MediaScannerConnection.OnScanCompletedListener() {

                    public void onScanCompleted(String path, Uri uri) {
                        Log.i("TAG", "Finished scanning " + path);
                    }
                });
    }

次に、画像を保存する場所でこの関数を呼び出します

scanFile(yourFile.getAbsolutePath());
于 2018-01-31T12:34:02.023 に答える