android – 从contentResolver删除文件只删除数据库中的条目(不是文件)

android – 从contentResolver删除文件只删除数据库中的条目(不是文件),第1张

概述我尝试使用contentResolver删除文件,但只删除数据库中的条目,而不是真实文件.所以我尝试先删除条目,然后再删除文件: int rows = context.getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,MediaStore.Audio.Media._ID + "=" + idSong, 我尝试使用contentResolver删除文件,但只删除数据库中的条目,而不是真实文件.所以我尝试先删除条目,然后再删除文件:

int rows = context.getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,MediaStore.Audio.Media._ID + "=" + IDSong,null);// Remove file from cardif (rows != 0) {Uri uri = ContentUris.withAppendedID(        MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,IDSong);file f = new file(uri.getPath());if(!f.delete())    Log.d("fail-2","fail-2");  }elseLog.d("fail-1","fail-1");

……输出为“fail-2”.为什么?

为什么ContentResolver不删除真实文件?这是正常的吗?

解决方法 这是有效的:

// Remove entry from database    int rows = context.getContentResolver().delete(            MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null);    // Remove file from card    if (rows != 0) {        try {            file f = new file(path);            if (f.delete())                return true;        } catch (Exception e) {            Log.d("MusicDB","file: '" + path                    + "' Couldn't be deleted",e);            return false;        }    }    return false;

但是为什么contentResolver不删除文件?

总结

以上是内存溢出为你收集整理的android – 从contentResolver删除文件只删除数据库中的条目(不是文件)全部内容,希望文章能够帮你解决android – 从contentResolver删除文件只删除数据库中的条目(不是文件)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1124829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存