gpt4 book ai didi

android - 即使在 android 中将铃声设为静音也会响铃

转载 作者:搜寻专家 更新时间:2023-11-01 08:06:35 24 4
gpt4 key购买 nike

先生,是否可以在铃声静音的情况下发出警报?如果是,如何。而且,我可以将它的音量设置为介于两者之间而不仅仅是最大音量吗?提前致谢

for (SmsMessage msg : messages) {
if (msg.getMessageBody().contains("firealert")) {

Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
if(alert == null){
// alert is null, using backup
alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
if(alert == null){
// alert backup is null, using 2nd backup
alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
}
}
Ringtone r = RingtoneManager.getRingtone(context.getApplicationContext(), alert);
AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
int maxVolumeAlarm = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM);
int maxVolumeRing = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, maxVolumeAlarm,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
audioManager.setStreamVolume(AudioManager.STREAM_RING, maxVolumeRing,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
r.play();
Toast.makeText(context.getApplicationContext(), "alarm started", Toast.LENGTH_LONG).show();


}//end if
}//end for

最佳答案

要看的东西:

AudioManager.getRingerMode/setRingerMode。将其设置为 RINGER_MODE_NORMAL 以确保手机未静音或设置为振动。 (虽然你可能想先检查状态,所以你可以存储它并在清除警报后重置值。)

if ( aManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL )
aManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

例如,如果您想将音量设置为 50%,则检查 AudioManager.getStreamMaxVolume,然后将其除以 2。不过,让用户配置它可能会更好。使用 SeekBar 让他设置一个首选音量(同样,您可以在闹钟响起后将其重置为正常音量)。

RingerVolumeBar = (SeekBar) findViewById(R.id.seekBar1);
RingerVolumeBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
@Override
public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser)
{
aManager.setStreamVolume(AudioManager.STREAM_RING,
progress, AudioManager.FLAG_PLAY_SOUND);
// record new setting so you can load it up or reset it back later
...
}
});

关于android - 即使在 android 中将铃声设为静音也会响铃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13692613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com