您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Android >> Android媒体扫描没效果

Android媒体扫描没效果

来源:网络整理     时间:2016/4/12 12:33:44     关键词:Android

关于网友提出的“Android媒体扫描没效果”问题疑问,本网通过在网上对“Android媒体扫描没效果”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:Android媒体扫描没效果
描述:

写了一个媒体扫描,发现没效果,是保存图片到本地的一个程序.
图片保存在/storage/emulated/0/xxxx/123.jpg
我扫描的是/storage/emulated/0/xxxx/,但是执行保存之后,发现在图库(系统图库)里面没有那个文件夹.不知道是因为什么,求解.
另外我想实现,第一次扫描文件夹,后面如果在新增文件(下载新的图片)就不用扫描文件夹了,请问怎么判断文件夹已经被扫描过了呢?
看了很多网上的很多都没法扫描,求可用扫描方法。


解决方案1:

在4.4之前和之后,google规定了不允许第三方应用向系统发送广播,所以,4.4+都无法进行扫描。
解决办法:
1:先做版本判断
public static boolean hasKitkat(){
//Build.VERSION.KITKAT--Android4.4
return Build.VERSION.SDK_INT >= 19;
}
2:浏览图片
public static void scanPhotos(String filePath, Context context) {
        Intent intent = new      Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        Uri uri = Uri.fromFile(new File(filePath));
        intent.setData(uri);
        context.sendBroadcast(intent);
    }
private void refreshPicture(){
if(hasKitkat()){
MediaScannerConnection.scanFile(this,
                    new String[] {currFilePath}, new String[]{ "image/*" },
                    new MediaScannerConnection.OnScanCompletedListener() {
                public void onScanCompleted(String path, Uri uri) {
                 sendBroadcast(new Intent(android.hardware.Camera.ACTION_NEW_PICTURE, uri));
                 sendBroadcast(new Intent("com.android.camera.NEW_PICTURE", uri));
                }
            });
            scanPhotos(currFilePath, this);
}else{
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + currFilePath)));
}
}
直接在调用refreshPicture()就可以了。

解决方案2:

                        MediaScannerConnection.scanFile(mContext, new String[] {filePath}, null, null);
filepath 要更新的路径

解决方案3:

引用 3 楼 dcxy0 的回复:
Quote: 引用 2 楼 u014165119 的回复:

在读取之前不是有保存的么?能确定保存成功了且是保存在Environment.getExternalStorageDirectory().toString()+ "/xxxxxxx"这个目录下么?直接在设备上打开对应路径看看。

路径里面有图片,但是就是没扫描上,不知道是不是因为保存图片可能有延时的作用。

嗯,有些路径图库没扫描出来算正常吧。文件夹已经被扫描过估计只能自己保存了。 解决方案4:

在读取之前不是有保存的么?能确定保存成功了且是保存在Environment.getExternalStorageDirectory().toString()+ "/xxxxxxx"这个目录下么?直接在设备上打开对应路径看看。


以上介绍了“Android媒体扫描没效果”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/671610.html

相关图片

相关文章