【问题标题】:Android O+: Some phones seem to lack the option to change sound type for notificationsAndroid O+:某些手机似乎缺少更改通知声音类型的选项
【发布时间】:2018-08-23 09:55:58
【问题描述】:

再次介绍Android O+ 上的通知声音。 有些手机的“通知设置”窗口没有显示声音选择按钮(甚至没有振动按钮)。 以下是几个例子:

  • 三星A5
  • 华为荣耀View 10

(不是小品牌......我会说)

他们在 Android 8 上使用 Gmail 应用(菜单 -> 设置 -> 帐户 -> 通知设置)进行了测试。

这里Android O - Notification Channels - Change Vibration Pattern or Sound Type是一个避免“标准”窗口的解决方案,但我们为什么要重新发明轮子呢?

我还缺少其他选项吗?

谢谢,

最大

附: 这是荣耀 9 / Android 8.0.0 的屏幕截图。 频道名称是“Mail”(意大利语中的“Posta”)。对于声音(意大利语中的“Suoneria”),只有一个开/关开关。

【问题讨论】:

  • 没有人回复:我忽略了什么吗?我有几个用户在抱怨,所以这应该是一种常见的体验......谢谢
  • 您能否附上其中一台设备的屏幕截图?默认情况下,用户还需要点击通知通道本身来更改通知声音等高级设置。
  • 添加了我从华为 - 荣耀 9 收到的截图,显示了“问题”。这与我从三星和另一款华为机型收到的完全相同。谢谢。
  • @mdicosimo 你有什么解决办法吗?
  • 不,我不知道。您是否遇到同样的问题?我担心我是唯一一个在谈论这个问题的人:也许我忽略了一些显而易见的问题来解决它......

标签: android audio notifications


【解决方案1】:

真是一团糟。您需要为不同的品牌/设备添加解决方法。这是我们用来处理它的流程:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !isDeviceWithWorkaround()) {
    // Send to notification channel settings (See https://developer.android.com/training/notify-user/channels#UpdateChannel)
}else{
    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Sound");
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, Uri.parse(someExistingRingTone));
    if (isDeviceWithWorkaround()) {
        intent.setPackage("com.android.providers.media"); 
    }
    try {
        startActivityForResult(intent, reqCode);
    } catch (ActivityNotFoundException e) {
        if (isDeviceWithWorkaround()) {
            Log.i(TAG, "Failed to find preferred package [" + intent.getPackage() + "]. Trying again without package.");
            intent.setPackage(null);
            startActivity(intent);
        }
    }
}

因此,如果您所说的设备存在已知问题,我们会将其发送给旧的铃声选择器。

我相信com.android.providers.media 包在现有的 Android 上没有启动活动,但在华为上,它会打开媒体商店,我们会在其中返回可用作通知声音的铃声 URI。 (我们不希望用户使用其他可能无法正常工作的铃声选择器。我们一直建议用户使用https://play.google.com/store/apps/details?id=com.angryredplanet.android.rings_extended,但它不适用于 Android 8 上的华为)。

【讨论】:

    猜你喜欢
    • 2017-12-18
    • 2018-09-11
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    相关资源
    最近更新 更多