在我的应用程序中,我需要用户选择铃声作为应用程序声音。我RingtoneManager.ACTION_RINGTONE_PICKER
用来获取选定的铃声。它返回铃声Uri
,我可以把它变成铃声,一切都很好。但这是棘手的部分:
我所有的应用程序数据都保存在一个 XML 文件中,所以我需要一种将铃声保存为String
. 我正在考虑使用Uri.getPath()
并在我的应用程序中保存路径来获取铃声的路径。但是当我需要使用它时,我找不到将路径转换回铃声的方法。这是我尝试将 Uri 转换为 String 并返回的代码:
String ringtonePath = ringtoneUri.getPath();
ringtoneUri = Uri.parse(ringtonePath);
Ringtone ringtone = RingtoneManager.getRingtone(getActivity(), ringtoneUri);
它不起作用。LogCat 输出:
Failed to open ringtone /internal/audio/media/13
和铃声得到null