Как я могу применить вызывной тональный сигнал только к выбранному контакту?
Я нашел способ установить вызывной тональный сигнал по умолчанию, который относится ко всем контактам, но это не моя цель.
Я хочу, чтобы приложение имело кнопку ("Применяют вызывной тональный сигнал для контакта"), что при нажатии запускается activityForResult
отображение списка всех контактов по телефону. Когда контакт выбран, завершения действия контакта и возвраты с URI к контакту. Затем приложение должно применить выбранный вызывной тональный сигнал к тому определенному контакту.
Код для отображения и выбора контактов действием уже реализован и, кажется, работает над приложением.
Вы можете использовать ContactsContract.Contacts , в котором есть столбец CUSTOM_RINGTONE
] (который является столбцом для чтения / записи!) для этой цели.
Uri contactUri;
ContentValues values = new ContentValues();
values.put(ContactsContract.Contacts.CUSTOM_RINGTONE,
newRingtoneUri.toString());
context.getContentResolver().update(contactUri, values, where, args);
Кроме того, вы можете найти это обсуждение полезным (код взят оттуда).