BHendricks BHendricks - 1 year ago 81
Android Question

Android: Refreshing the Gallery after saving new images

So in my application I at one point save a bunch of images to a temporary folder, and I want them to show up immediately in the Gallery. Off of a reboot, they do, but otherwise they don't.

I've tried using the sendBroadcast method:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));

But I get a permission error:

E/AndroidRuntime( 2628): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=2628, uid=10068

Could I be missing a permission in my AndroidManifest, or is this just no longer supported? Thanks

Answer Source

Try this, It works for me on Kitkat (4.4)

        MediaScannerConnection.scanFile(this, new String[] { Environment.getExternalStorageDirectory().toString() }, null, new MediaScannerConnection.OnScanCompletedListener() {
             *   (non-Javadoc)
             * @see,
            public void onScanCompleted(String path, Uri uri) 
                  Log.i("ExternalStorage", "Scanned " + path + ":");
                  Log.i("ExternalStorage", "-> uri=" + uri);