我想让用户为我的应用推送通知选择通知铃声。 这就是我的工作:
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
我的火力似乎拿起了错误的铃声。
任何可能出错的想法?
答案 0 :(得分:0)
这可以通过明确传递所需默认铃声的Uri
来解决:
intent.putExtra(
RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));