android - Android Q RingtonePicker 现在会导致应用崩溃?
问题描述
所以我一直在测试 Android Q 以确保我的应用程序不会有任何问题,我注意到如果你尝试启动它,铃声选择器现在会使应用程序崩溃。
错误信息如下。
android.content.ActivityNotFoundException: 没有找到处理 Intent { act=android.intent.action.RINGTONE_PICKER (has extras) }
我查找了此处找到的铃声偏好: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);
解决方案
我在运行 Q Beta 2a 的 Pixel 上的废品项目中运行了您的代码片段,而不是转换为 Kotlin 并删除了依赖于您的Uri
. 一个迷幻的铃声选择器出现了:
我的更改不应该影响Intent
路由,所以我认为您的问题是模拟器问题。
推荐阅读
- django - 保存前更新模型字段名称
- python - cv2.fastNlMeansDenoising() 的奇怪行为
- ruby-on-rails - 如何通过关联检测has_many的变化?
- pandas - 使用多个数据框创建嵌套数据框
- postgresql - 我应该在此处的 SELECT 子查询中使用 FOR UPDATE DELETE FROM table WHERE id = any(array(SELECT id FROM table WHERE ... LIMIT 100))
- api - 如何防止 DTO 对象杂乱无章?
- c# - 在 Visual Studio 2019 中安装包时如何解决元数据异常?
- mysql - 在一个查询中从另一个关系表中求和和减去
- authentication - GRPC 异常处理
- android - 方法 setHalfExpandedRatio(float ratio)