我要做的是从用户处获取所选铃声,设置AlarmManager闹钟以在闹钟关闭时播放该铃声。但我需要将铃声保存在数据库中,这样我可以在手机重启后重置所有闹钟。
我的问题是将铃声Uri保存到数据库以便以后检索的最佳方法是什么?
我尝试了以下内容:
1)将铃声标题保存在数据库中,然后将其检索并将其附加到默认铃声路径。但问题是,铃声可能是从不同的位置加载的 2)存储uri方案,方案spefici部分和片段然后调用Uri.fromParts来创建Uri。 3)从Uri创建一个inputStream,byte []数组并将其保存为blob,然后将其读回并将结果转换为Uri
这些都不起作用。
非常感谢您的帮助。
答案 0 :(得分:20)
将URI作为字符串存储在数据库中,然后稍后加载。
// This will get the uri in a string format
String s = mUri.toString();
从数据库中检索字符串时,重建URI如下:
// This will decode the string into a URI
Uri mUri = Uri.parse(s);
希望有所帮助。祝你好运!