3

当我在 Mediastore.Audio.Media 中插入行时,我能够完美地设置铃声

 newUri = this.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()), values); 

但是对于现有记录,即当我尝试再次插入行时,logcat 显示数据库约束错误 19。那么我该如何解决这个问题?基本上我需要从我的音板应用程序中设置一个 .ogg 文件作为铃声,该铃声已经存在于 mediastore 数据库中......感谢任何帮助......

4

1 回答 1

3

我想到了。在插入之前删除数据库中的现有记录。

Uri uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + file.getAbsolutePath() + "\"", null);

希望这对你也有帮助。

于 2010-12-03T06:24:14.987 回答