码迷,mamicode.com
首页 > 其他好文 > 详细

从MediaStorehe和sd中删除媒体文件

时间:2016-09-13 16:13:29      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

参考资料:http://www.sandersdenardi.com/querying-and-removing-media-from-android-mediastore/

从媒体表中删除:

private void delSourceFile(final String filePath) {
        ThreadFactory.getNormaPool().execute(new Runnable() {
            @Override
            public void run() {
                String[] retCol = {MediaStore.Audio.Media._ID};
                Cursor cur = mActivity.getContentResolver().query(
                        MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                        retCol,
                        MediaStore.MediaColumns.DATA + "=‘" + filePath + "‘", null, null);
                if (cur.getCount() == 0) {
                    return;
                }
                cur.moveToFirst();
                int id = cur.getInt(cur.getColumnIndex(MediaStore.MediaColumns._ID));
                LogUtil.getLog().e("id=" + filePath);
                cur.close();

                try {
                    Uri uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                            id);
                    mActivity.getContentResolver().delete(uri, null, null);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

从本地删除:

/**
* 从SD卡中删除文件
*/
public static void deleteFile(File file) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
if (file.exists()) {
if (file.isFile()) {
file.delete();
}
// 如果它是一个目录
else if (file.isDirectory()) {
// 声明目录下所有的文件 files[];
File files[] = file.listFiles();
for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件
deleteFile(files[i]); // 把每个文件 用这个方法进行迭代
}
}
file.delete();
}
}
}

从MediaStorehe和sd中删除媒体文件

标签:

原文地址:http://www.cnblogs.com/baiyi168/p/5868473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!