Android:将android.net.Uri对象保存到数据库

即时消息试图做的是从用户获取选定的铃声,设置一个AlarmManager警报,当闹铃closures时播放该铃声。 但我需要将铃声保存在数据库中,以便在手机重新启动后重置所有闹钟。

我的问题是什么是最好的方式来保存铃声Uri到数据库以后检索?

我尝试了以下几点:

1)将铃声标题保存在数据库中,然后检索并附加到默认的铃声path。 但问题是,铃声可能是从不同的位置加载2)存储urischeme,schemespefici部分和片段,然后调用Uri.fromParts创buildUri。 3)从Uri创build一个inputStream,byte []数组,然后将其保存为一个blob,然后将其读回并将结果投射到Uri

这些都不起作用。

非常感谢您的帮助。

  • Android打开Waze和Google地图的意图
  • Uri.parse()总是在unit testing中返回null
  • 将java.net.URI转换为android.net.Uri
  • 从Uri检索可绘制资源
  • Facebook Messenger的自定义URIscheme
  • 如何从位图获取Uri对象
  • Intent Filter在单击自定义URI时启动My Activity
  • 如何在HTML5VFullScreen $ SurfaceVideoView Android 4.0中获取HTML5videoURI?
  • 将URI作为string存储在数据库中,然后再加载。

    // This will get the uri in a string format String s = mUri.toString(); 

    当你从数据库中检索string时,重build这样的URI:

     // This will decode the string into a URI Uri mUri = Uri.parse(s); 

    希望有所帮助。 祝你好运!