Android / Java: как удалить расширение типа файла из URI? - PullRequest
0 голосов
/ 21 марта 2011

Так что я работаю с URI в Android, чтобы установить мелодии для отдельных контактов. Проблема в том, что способ выбора мелодии звонка заключается в том, что ему не нравится что-то вроде myringtone.mp3. Вместо этого он просто хочет myringtone. Странно, но я думаю, что так оно и есть. Таким образом, у меня есть URI как file:///sdcard/tag/ringtones/ringtone.mp3. Как получить URI для удаления расширения, чтобы менеджер рингтонов использовал его правильно? Способ установки мелодий звонка с помощью этой строки:

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

Таким образом, URI находится в строковой форме. Используя подстроки, я должен быть в состоянии это сделать, но я не знаю, как написать метод для удаления последних 4 символов в строке. Кто-нибудь может дать мне какой-нибудь совет здесь?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 21 марта 2011

Для ситуаций, когда вы не знаете, какое может быть расширение или неизвестная длина, попробуйте:

uri.toString().substring(0, uri.getString().lastIndexOf("."));
0 голосов
/ 21 марта 2011

Вы пробовали? ...

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