Android / Java:如何从URI中删除文件类型扩展名?

时间:2011-03-20 23:18:35

标签: android uri substring ringtone

所以我正在使用Android中的URI来为各个联系人设置铃声。问题是,铃声选择器的工作方式是它不喜欢myringtone.mp3之类的东西。相反,它只是想要myringtone。很奇怪,但我想这就是它的方式。所以我有一个像file:///sdcard/tag/ringtones/ringtone.mp3这样的URI。如何获取URI以删除扩展名,以便铃声管理器正确使用它?设置铃声的方式是这一行:

values.put(ContactsContract.Contacts.CUSTOM_RINGTONE, uri.toString());

所以URI是字符串形式。使用子串我应该能够做到,但我不知道如何编写一个方法来删除字符串中的最后4个字符。谁能在这里给我一些建议?

谢谢!

2 个答案:

答案 0 :(得分:5)

如果您不知道扩展名是什么或未知长度,请尝试:

uri.toString().substring(0, uri.getString().lastIndexOf("."));

答案 1 :(得分:0)

你试过吗?...

uri.toString().substring(0, uri.toString().length() - 4);