当前位置: 首页 > 知识库问答 >
问题:

Android ACTION_MEDIA_SCANNER_SCAN_FILE重新启动之前不显示图像?

公西苗宣
2023-03-14

我目前正在开发一个Android应用程序,其中用户拍摄存储在设备上的外部内存中的照片,然后我试图也让画廊扫描文件以将新媒体添加到画廊,但这似乎不会更新,直到设备重新启动。

我使用的代码如下:

    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(mCurrentPhotoPath);
    Log.v("INFO", mCurrentPhotoPath.toString());
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);

用我的应用程序拍照后,我可以使用设备上的文件管理器应用程序来验证它是否存在,并记录文件路径,看起来是正确的,然后将其传递给媒体扫描仪

file:/storage/emulated/0/Pictures/JPEG_20140712_163043_1418054327.jpg

谢谢艾伦

共有2个答案

祖迪
2023-03-14

在调用< code>sendBroadcast后,媒体扫描程序需要一些时间来扫描和插入显示结果。您可以使用< code > MediaScannerConnection 方法< code>onScanCompleted检查图库中的图像。更多参考请点击链接

顾超
2023-03-14

我设法解决了这个问题。问题是由于我设置了mCurrentPhotoPath。所以我更新了代码以使用

photoFile = createImageFile();
mCurrentPhotoPath = photoFile.getAbsolutePath();
 类似资料:
  • 我正在制作一个应用程序,其中有一个“MainActivity.class”,它有一个按钮“Edit profile”,可以引导另一个活动,称为“Editprofile.class”。它(MainActivity)还有一个文本视图,显示一个字符串(名称)。 Editprofile.class接受来自用户的字符串,按下添加按钮后,新的字符串会更新到数据库中,替换以前的字符串。现在,当更新后,用户通过后

  • 我知道这是Android Studio的一个老问题,但请相信我,我尝试了在Stack Overflow旧线程上发现的所有问题(2016年和2017年的解决方案,很明显在2021不再有效)。 我安装了Android Studio,当我启动它时,它不会运行。我尝试将JAVA\u HOME、JDK\u HOME、STUDIO\u JDK设置为Android STUDIO附带的JRE文件夹和C:\Prog

  • 问题内容: 我有一个基于nginx的小型测试应用程序,我想在docker容器中运行。所以我按照这里给出的示例进行docker安装 所以我有一个更名为 restartTest的 名称,它包含一个index.html文件,其中包含这行内容,即 Docker Test 1 。我在运行时将其作为docker容器的卷安装。所以我用的命令是 而且运行良好。我使用curl来验证卷是否已正确安装并且应用程序正在按

  • $ gdb GNU gdb (GDB) 7.7.50.20140228-cvs Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are f

  • 问题内容: 我用来在关闭特定的JFrame之前进行确认。 在关闭之前,我会收到一个确认对话框,但是问题是,即使我单击“否”按钮,它也会关闭。有什么帮助吗? 问题答案: JFrame的默认关闭操作设置为什么?您需要确保将其设置为:

  • 抱歉我英语不好。 我想让角色反应机器人我的问题是我的机器人在重新启动之前看不到消息发送 我已经接受了这个代码,但他没有看到旧消息的反应。 我能做些什么来使这个代码看到对旧消息的反应。