Android:为 Mediastore.Audio.Media 中的现有记录设置铃声

发布于 2024-10-05 06:55:21 字数 324 浏览 1 评论 0原文

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

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

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

I am able to set the ringtone perfectly, when I insert the row in Mediastore.Audio.Media

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

But for an existing record i.e when am trying to insert the row again, logcat shows me database constraint error 19. So how do I work around this? Basically I need to set a .ogg file from my sound board app as a ringtone, which is already existing in the mediastore database... Any help is appreciated..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的旅程 2024-10-12 06:55:21

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

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

希望这对您也有帮助。

I figured it out. Delete the existing record in the database before inserting.

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

Hope this helps you too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文