Удаление рингтона программно в Android

Я знаю, как вставить рингтон программно, но я хочу знать, как удалить конкретный рингтон из списка системных рингтонов. Что я знаю, это название мелодии.

Я много гуглил по этому поводу, но, к сожалению, не смог найти способа добиться именно того, чего я хочу.

Пожалуйста, сообщите мне способ удаления мелодии звонка, используя название мелодии звонка.

1 ответ

Решение

Попробуй как удалить рингтон из MediaStore.Audio.Media

Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtone_path);  
int roweffected = getContentResolver().delete(uri,  
       MediaStore.MediaColumns.DATA + "=\"" + ringtone_path + "\"",  
       null);

if(roweffected>0){
  //ringtone deleted
}
else{
  //ringtone not deleted
}

РЕДАКТИРОВАТЬ: вы также можете удалить RINGTONE из списка как:

ContentValues cv = new ContentValues();
Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtone_path);
cv.put(MediaStore.Audio.Media.IS_RINGTONE, false);
cv.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
cv.put(MediaStore.Audio.Media.IS_ALARM, false);
cv.put(MediaStore.Audio.Media.IS_MUSIC, true);

int rowupdate = getContentResolver().update(uri,
       cv, MediaStore.MediaColumns.DATA + "=?",new String[] {ringtone_path});

if(rowupdate>0){
  //ringtone update
}
else{
  //ringtone not update
}
Другие вопросы по тегам