Android缓存图片,在系统图库却看不见。怎么做到的?答:新建“.nomedia”的文件即可。...

转载自:http://blog.csdn.net/spare_h/article/details/7466145

开发项目需求:
自己的应用中会缓存很多图片到本地,不想让系统图库扫描到自己的图片或者不想对用户浏览图片造成影响。

方法:

.nomedia文件作用:应用中的图片不被系统图库扫描

“.nomedia”文件放在任何一个文件夹下都会把该文件夹下所有媒体文件(图片,mp3,视频)隐藏起来不会在系统图库,铃声中出现。

新建.nomedia文件的方法:
1.Windows系统的新建文件不能新建.nomedia文件

新建方法:
Java
new File(dir, “.nomedia”).createNewFile();

2. CMD命令行
copy con .nomedia 回车
然后此时屏幕上有一个光标在闪烁,说明等待你输入该文件内容,如果想建立空内容文件,这里就什么都不输入,这时按下ctrl+Z键再回车,就生成一个空文件。该文件拷贝到需要隐藏图片视频的文件夹中。
3.Linux Shell
vi .nomedia
:wq

========================================================================

Android项目可用以下代码实现新建.nomedia文件

manifest.xml申请读写权限:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Java代码:

File nomedia = new File( "xxx/xxx/" , ".nomedia");
    try {
        if (!nomedia.exists())
        nomedia.createNewFile();
        FileOutputStream nomediaFos = new FileOutputStream(nomedia);
        nomediaFos.flush();
        nomediaFos.close();
        } catch (IOException e) {
        Log.e("IOException", "exception in createNewFile() method");
        return;
    }

 ==========================================================================================

有些特定软件会在缓存图片文件夹自动生成名为“.nomedia”的文件,屏蔽了其他软件的扫描。
代表此文件夹里面的MP3、MP4、RMVB、JPEG等图片音频视频等媒体文件,所以系统图库看不到。
但一些特殊软件如 快图、MX Player也可以在设置中取消辨认这些文件!

 

转载于:https://www.cnblogs.com/xubuhang/p/4164208.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值