Поэтому я тестировал 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);
RingtonePreference
и не будет предоставлять версию AndroidX. Их рекомендация (изложенная в этом выпуске) заключается в том, чтобы вы использовалиnew Intent(RingtoneManager.ACTION_RINGTONE_PICKER)
. Это то, что вы используете? - person CommonsWare   schedule 19.04.2019RingtoneManager.ACTION_RINGTONE_PICKER
, и у меня не было сбоев. Это было протестировано на Google Pixel с Q Beta 2a (или как там они называют исправленную версию Beta 2). Если вы тестируете на эмуляторе, это может быть проблема с эмулятором. - person CommonsWare   schedule 19.04.2019