Android项目小记——nomedia文件与MediaStore媒体库

news/2025/1/15 23:12:48/

避免相册显示

避免相册显示项目底下的多媒体文件,如.mp4、.png等文件。在目录下放置一个.nomedia文件,则可以放置媒体库扫描该目录。

问题

项目使用了Android原生的分享功能,该功能需要用到媒体库的数据库,问题:不想让看到,还想可以调用原生分享,强制插入到媒体库,相册(用的就是媒体库)又能看到。用FileProvider还分享不全-.-

过程

强制同步在媒体数据库。
(1)使用MediaStore.Images.Media.insertImage()会自动生成缩略图(jpg)到Picture目录下,且返回的Uri是该缩略图的Uri,不符合原图要求。
(2)使用FileProvider,将file转换成content(不然7.0以上会报异常),分享多张图片时,发现会随机发送1-2张图片,猜想是FileProvider是互斥资源?也可能是图片太大,放弃。。。(求大神告知。。。)
(3)将资源插入在MediaStore.Images.Media.EXTERNAL_CONTENT_URI,发现目录放置.nomedia后,无法插入该目录的媒体文件。

ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.DATA, filePath);return context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

该代码返回null,无法插入(求大神告知…)

解决

ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.DATA, filePath);return context.getContentResolver().insert(MediaStore.Images.Media.INTERNAL_CONTENT_URI, values);

如上代码,可以插入,返回资源的Uri,且在相册中不显示(可能发生啥问题未知)。
查询了下内部存储和外部存储,感觉并没有分的很清楚,测试删除图片重启机器,会刷新媒体库重新扫描,应该影响不大,暂时这么解决。


http://www.ppmy.cn/news/779319.html

相关文章

【错误记录】Flutter 界面报错 ( No MediaQuery widget ancestor found. | Scaffold widgets require a MediaQuery )

文章目录 一、报错信息二、解决方案 一、报错信息 Flutter 应用运行时报如下错误 : Launching lib\main.dart on Pixel 2 in debug mode... Running Gradle task assembleDebug... √ Built build\app\outputs\flutter-apk\app-debug.apk. Installing build\app\outputs\flutt…

VMware16安装windows server 2022报蓝屏和No Media错误解决办法,图片如下:

下图错误可能是你在创建虚拟机的时候配置文件没有删干净,一定要把配置文件删干净,要不然肯定还会报错。 如果确定删干净了,还是不行,就在换一个同样版本的镜像,重新创建,就能打开虚拟机。并且能成功安装好你…

Android “.nomedia“ 文件的使用方法和原理

系统媒体数据库无法扫描到数据 1.插入一张SDCARD 2.push 3000左右图片到sdcard 3.重启 4.观察发现手机不能读取到图片数据 (读取方法:Images.Media.getContentUri(“external”)获取uri, 然后读取数据库) 5.push 1首歌曲 6.重启进入music,等待…

视频 服务器运行时失败,Windows Media Player服务器运行失败的解决办法讲解

当大家遇到Windows Media Player服务器运行失败,怎么解决呢?小编给大家分享一个Windows Media Player服务器运行失败的解决办法讲解,希望可以帮到大家。 Windows Media Player服务器运行失败的解决办法讲解 方法1 我们先打开“控制面板”->找到并打开“程序和功能”->…

解决Android图库不识别.nomedia的问题

解决Android图库不识别.nomedia的问题 参考文章: (1)解决Android图库不识别.nomedia的问题 (2)https://www.cnblogs.com/TianFang/archive/2012/11/22/2783415.html 备忘一下。

Android避免缓存资源被系统扫描并显示(.nomedia)

app的一些缓存图片理论上是不让出现在相册的 但是相册会扫描出来他可以进行限制 File file new File(filePath "/.nomedia" ); if (!file.exists()){try { file.createNewFile(); } catch (Exception e) { e.printStackTrace(); }} 创建一个nomedia这样在系统…

Android nomedia问题分析

迁移本人cnblog文章: 一、问题起源 最近有同事反馈试用的机器出现问题,图库的照片全部消失,新下载的第三方应用图片,也无法显示。针对该问题,当时以为是媒体库scan过程和数据库存在异常,查了半天无任何结论。内部讨论…

android media的文件类型,NOMEDIA 文件扩展名: 它是什么以及如何打开它?

NOMEDIA 文件疑难解答 打开 NOMEDIA 文件的麻烦 StudioKUMA .nomedia Manager 不存在 双击你的 NOMEDIA 文件会提示消息 “%%os%% 无法打开 NOMEDIA 文件”。 通常,这是因为你没有安装适用于 %%os%% 的 StudioKUMA .nomedia Manager。 操作系统不知道如何处理你的 N…