0

我想让用户为我的应用程序的推送通知选择通知铃声。这就是我所做的:

    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);

    startActivity(intent);

这是结果:

在此处输入图像描述

到目前为止,一切都很好。但是,在所有制造商的某些设备上,“默认通知声音”(选择对话框中的第一个条目)指向设备的呼叫铃声,而不是通知铃声。

当用户点击“默认通知声音”时,播放设备的默认来电铃声,而不是默认通知声音

铃声在设备设置中设置正确,Intent我开火似乎接错了铃声。

有什么想法可能会出错吗?

4

1 回答 1

0

这可以通过显式传递Uri所需的默认铃声来解决:

    intent.putExtra(
            RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
            RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
于 2017-04-03T12:22:28.163 回答