в моем методе я сохраняю файл в SDCard и возвращаю Uri
String path = "/sdcard/media/audio/ringtones/";
String resourceEntryName = activity.getApplicationContext().getResources().getResourceEntryName(audioResourceId);
String filename = resourceEntryName + ".ogg";
File mediaFile = new File(path, filename);
if (!mediaFile.exists()) {
saveFile();
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, mediaFile.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, resourceEntryName);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.ARTIST, name);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(mediaFile.getAbsolutePath());
return activity.getContentResolver().insert(uri, values);
} else {
return ???
}
Если файл существует, я хочу вернуть Uri этого файла, но если я сделаю
return MediaStore.Audio.Media.getContentUriForPath(mediaFile.getAbsolutePath());
iНеправильно, Ури, потому что, используя этот Ури, я не могу установить его в качестве мелодии звонка.Я хочу вернуть Uri, который я могу использовать для установки этого звука в качестве мелодии звонка.
Я попробовал MediaStore.Audio.Media.getContentUri (resourceEntryName);это тоже не сработало