gpt4 book ai didi

android - 请勿打扰模式 - 始终静音来电

转载 作者:行者123 更新时间:2023-12-05 07:56:03 26 4
gpt4 key购买 nike

我有一个带有集成音乐播放器的应用程序。我不希望音乐被来电打断。

我为此使用了以下函数:

public static void updateDoNotDisturbMode(boolean enabled, boolean checkPrefs)
{
...
AudioManager audioManager = ((AudioManager) MainApp.get().getSystemService(Context.AUDIO_SERVICE));
NotificationManager notificationManager = (NotificationManager) MainApp.get().getSystemService(Context.NOTIFICATION_SERVICE);

// audioManager.setMode(AudioManager.MODE_IN_CALL);
if (!enabled)
{
audioManager.setStreamSolo(AudioManager.STREAM_MUSIC, false);
audioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, false);
audioManager.setStreamMute(AudioManager.STREAM_RING, false);
audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);

...
}
else
{
audioManager.setStreamSolo(AudioManager.STREAM_MUSIC, true);
audioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, true);
audioManager.setStreamMute(AudioManager.STREAM_RING, true);
audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);

...
}
}

什么有效

  • 如果没有连接耳机,手机静音
  • 如果有人来电,内部音乐播放器会继续播放而不会中断
  • 所以没有连接耳机,一切正常

什么不起作用

  • 如果连接了耳机,标准的哔声会中断我的音乐播放器并在耳机中播放

即使连接了耳机,如何避免来电打断我的音乐播放器?

目标 SDK

只有 4.2 及以上...(包括 5)

最佳答案

集成音乐播放器是什么意思?你可以更改音乐应用程序的代码吗?

播放器停止播放,因为它监听 PhoneStateChanges - void onCallEvent(int state, String number);
如果您可以更改播放器的代码,您应该检查是否在此方法中打开了静音模式 - 如果是,则不要停止播放。

如果您无法更改播放器代码 - 您可以使用带有音频焦点首选项的高级播放器。例如 poweramp 有这样的选项。将调用中的设置/音频/音频焦点/暂停设置为 false(有效,现已测试)。但是你应该一直手动更改它。

关于android - 请勿打扰模式 - 始终静音来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28759508/

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