所以在我的应用程序中,我有一次将一堆图像保存到一个临时文件夹中,并且我希望它们立即显示在图库中。重新启动后,他们会这样做,但否则他们不会。
我尝试过使用 sendBroadcast 方法:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
但是我得到一个权限错误:
E/AndroidRuntime( 2628): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=2628, uid=10068
我的 AndroidManifest 中是否缺少权限,或者这不再受支持?谢谢
最佳答案
Petrus 在 another answer 中提供的代码在 Kitkat (4.4) 上为我工作:
MediaScannerConnection.scanFile(this, new String[] { Environment.getExternalStorageDirectory().toString() }, null, new MediaScannerConnection.OnScanCompletedListener() { /* * (non-Javadoc) * @see android.media.MediaScannerConnection.OnScanCompletedListener#onScanCompleted(java.lang.String, android.net.Uri) */ public void onScanCompleted(String path, Uri uri) { Log.i("ExternalStorage", "Scanned " + path + ":"); Log.i("ExternalStorage", "-> uri=" + uri); } });
关于Android:保存新图像后刷新图库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18624235/