Поэтому я тестировал Android Q, чтобы убедиться, что в моих приложениях не возникло проблем, и заметил, что средство выбора рингтонов теперь вызывает сбой приложения, если вы попытаетесь его запустить.
Сообщение об ошибке, как показано ниже.
android.content.ActivityNotFoundException: не найдена активность для обработки Intent {act = android.intent.action.RINGTONE_PICKER (имеет дополнительные функции)}
Я посмотрел мелодию звонка, найденную здесь: https://developer.android.com/reference/android/preference/RingtonePreference
Теперь он говорит - Этот класс устарел на уровне API Q. Используйте библиотеку настроек AndroidX для согласованного поведения на всех устройствах. Для получения дополнительной информации об использовании библиотеки настроек AndroidX см. настройки.
Это просто проблема, потому что Android Q находится в бета-версии или это то, что мне нужно изменить. У меня есть два приложения, которые я использую RingtonePicker для выбора пользовательских звуковых сигналов или уведомлений. Кто-нибудь знает какую-нибудь работу вокруг или я должен просто набраться терпения и ждать дальнейшего развития Q?
Изменение: Вот фрагмент моего кода, может быть, это просто проблема с эмулятором..
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Alarm Sound");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, chosenAlarm1);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
startActivityForResult(intent, 5);
Я запустил ваш фрагмент кода в проекте металлолома на Pixel с Q Beta 2a, кроме преобразования в Kotlin и удаления дополнительного, который зависел от вашего Uri
. Появился психоделический рингтон:
Мои изменения не должны влиять на Intent
маршрутизацию, поэтому я думаю, что ваша проблема связана с эмулятором.