铃声选择意图 - 默认铃声

时间:2017-04-03 08:23:26

标签: android android-intent ringtonemanager

我想让用户为我的应用推送通知选择通知铃声。 这就是我的工作:

    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);

结果如下:

enter image description here

到目前为止一切顺利。但是,在某些设备上,所有制造商都会发出默认通知声音' (选择对话框中的第一个条目)指向设备的通话铃声,而不是通知铃声。

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

铃声在设备设置中正确设置,Intent我的火力似乎拿起了错误的铃声。

任何可能出错的想法?​​

1 个答案:

答案 0 :(得分:0)

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

    intent.putExtra(
            RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
            RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));