如何在尊重用户声音设置的前提下播放铃声?

时间:2019-03-14 09:02:05

标签: android firebase notifications firebase-cloud-messaging

我正在尝试使用webrtc和socket.io构建呼叫应用程序。我正在使用Firebase消息传递来唤醒用户。我试图找到一种方法来通知用户播放铃声,例如当您在whatsapp上收到呼叫时,他们会播放默认来电铃声。我尝试过-

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();  

另一个是-

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), notification);
mp.start();

但是它不尊重用户的声音设置,即,即使将手机置于振动或震动状态,声音也会播放。

1 个答案:

答案 0 :(得分:1)

至少本地电话应用中的google会明确检查电话状态,您可以在此处https://android.googlesource.com/platform/packages/apps/Phone/+/eclair-sholes-release/src/com/android/phone

这是逻辑,请使用The syntax of the command is incorrect.方法中的意大利面条=) https://android.googlesource.com/platform/packages/apps/Phone/+/eclair-sholes-release/src/com/android/phone/Ringer.java