Android:保存新图像后刷新图库

标签 android gallery mediastore

所以在我的应用程序中,我有一次将一堆图像保存到一个临时文件夹中,并且我希望它们立即显示在图库中。重新启动后,他们会这样做,但否则他们不会。

我尝试过使用 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/

相关文章:

android - 拍照时获取 - java.lang.Throwable : file://Uri exposed through ClipData. Item.getUri()

Android MediaStore.Audio 不加载所有 MetaTags

android - 为什么 MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI 不提供准确的 "Album Artist"?

java - Toast.setGravity() 在我的 AVD Nexus 6 API 30 中不起作用

android - 在 Android 中显示来自 Cursor 的数据的问题

Android 如何用这个Horizo​​ntalListView 来代替Gallery?

android - 获取图像的 ACTION_GET_CONTENT 返回空 URI

android - 将 dex2.jar 转换为 classes.dex 文件

android - LVL 错误 - 无法在我的项目中引用 LVL

Android 图库 - 多个图像 - 预选图像