设定通知音量

时间:2019-04-06 07:08:13

标签: android android-notifications

我正在使用NotificationChannel定义我的应用通知。我用以下代码设置了声音:

AudioAttributes.Builder constructeurAttributsAudio=new AudioAttributes.Builder();
constructeurAttributsAudio.setUsage(AudioAttributes.USAGE_NOTIFICATION_EVENT);
canalNotification.setSound(Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE    + "://" + contexte.getPackageName() + "/raw/cloche"),constructeurAttributsAudio.build());

出现通知时,声音会正确发出,但是音量设置为最大值,并且未考虑用户为通知设置的声音级别。有谁知道我如何让我的应用将通知声音级别设置为用户选择的值?

编辑#1:如果我复制代码以在应用程序正文中执行代码(通过单击Button触发),而不是在我的onReceive的{​​{1}}方法中执行该通知,则该通知声音会按照用户选择的通知声音级别正确发出。

编辑#2:奇怪的是,在模拟器上执行该应用程序时,通知声音级别正确!原因可能是手机配置中的参数吗? (它们都在Android 9下运行)。

2 个答案:

答案 0 :(得分:0)

我使用以下代码,希望也对您有用:

 private void setvolume(int volume)
 {
AudioManager manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
manager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);

Uri notification = RingtoneManager
        .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

MediaPlayer player = MediaPlayer.create(getApplicationContext(), notification);
player.start();

}

答案 1 :(得分:0)

卸载并重新安装该应用程序即可解决问题!