Я могу установить мелодию звонка программно между 4,0 и 6,0 (Зефир), но не могу установить после 6,0 (Зефир).
Не могли бы вы сообщить мне, как решить эту проблему, чтобы я мог установить мелодию звонка для устройств с Android Oreo 8.0 и 8.1 версии?
public void setRingtone(String filepath) {
File ringtoneFile = new File(filepath);
ContentValues content = new ContentValues();
content.put(MediaStore.MediaColumns.DATA, ringtoneFile.getAbsolutePath());
content.put(MediaStore.MediaColumns.TITLE, "Ring");
content.put(MediaStore.MediaColumns.SIZE, ringtoneFile.length());
content.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
// content.put(MediaStore.Audio.Media.ARTIST, "Madonna");
content.put(MediaStore.Audio.Media.IS_RINGTONE, true);
content.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
content.put(MediaStore.Audio.Media.IS_ALARM, false);
content.put(MediaStore.Audio.Media.IS_MUSIC, true);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + ringtoneFile.getAbsolutePath() + "\"", null);
Uri newUri = getContentResolver().insert(uri, content);
System.out.println("uri==" + uri);
Log.i("TAG", "the ringtone uri is :" + newUri);
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE, newUri);
Toast.makeText(this, "Ringtone set success!", Toast.LENGTH_SHORT).show();
}
Спасибо.