简体   繁体   中英

How to make visible the images in the gallery after insertion in the internal storage?

I just inserted some pictures in my internal storage but they aren't visible in the gallery then.

Can someone explain me why?

Here is my code :

File photosFolder = new File(getContext().getExternalFilesDir(null),"myPictures");
        photosFolder.mkdirs();

        String[] pictures = null;

        try {
            pictures = assetManager.list("photos");
        } catch (IOException e) {
            Log.e("tag", "Failed to get asset file list.", e);
        }
        for(String filename : pictures) {
            InputStream in = null;
            OutputStream out = null;
            try {
                in = assetManager.open("photos/"+filename);
                File outFile = new File(photosFolder, filename);
                out = new FileOutputStream(outFile);
                copyFile(in, out);
                in.close();
                in = null;
                out.flush();
                out.close();
                out = null;
            } catch(IOException e) {
                Log.e("tag", "Failed to copy asset file: " + filename, e);
            }
        }```

Give this a try:

      File photosFolder = new File(getContext().getExternalFilesDir(null),"myPictures");
    photosFolder.mkdirs();

    String[] pictures = null;

    try {
        pictures = assetManager.list("photos");
    } catch (IOException e) {
        Log.e("tag", "Failed to get asset file list.", e);
    }
    for(String filename : pictures) {
        InputStream in = null;
        OutputStream out = null;
        try {
            in = assetManager.open("photos/"+filename);
            File outFile = new File(photosFolder, filename);
            out = new FileOutputStream(outFile);
            copyFile(in, out);
            in.close();
            in = null;
            out.flush();
            out.close();
            out = null;
            MediaScannerConnection.scanFile(this,
            new String[] { outFile.toString() }, null,
            new MediaScannerConnection.OnScanCompletedListener() {
        public void onScanCompleted(String path, Uri uri) {
            Log.i("ExternalStorage", "Scanned " + path + ":");
            Log.i("ExternalStorage", "-> uri=" + uri);
        } catch(IOException e) {
            Log.e("tag", "Failed to copy asset file: " + filename, e);
        }
    }
     
        }

You can check the documentation here: https://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory%28java.lang.String%29

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM