使用警报音量,而不是通话音量

时间:2016-01-24 18:30:39

标签: android volume alarm ringtone

我开发了一个唤醒应用程序。问题是,应用程序使用调用量和短信。而不是警报。

 public void onReceive(Context context, Intent intent) {

            Uri uri = RingtoneManager.getActualDefaultRingtoneUri(context,RingtoneManager.TYPE_ALARM);

            Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
            ringtone = RingtoneManager.getRingtone(context, alert);
            ringtone.play();

2 个答案:

答案 0 :(得分:1)

DavidH的回答有效但在API级别21中不推荐使用Ringtone.setStreamType。对于API级别21+,请使用:

ringtone.setAudioAttributes(new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_ALARM).build());

支持较旧的Android版本:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      ringtone.setAudioAttributes(new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_ALARM).build());
} else {
      ringtone.setStreamType(AudioManager.STREAM_ALARM);
}

答案 1 :(得分:0)

使用

ringtone.setStreamType(AudioManager.STREAM_ALARM);