打开来电Android中的扬声器

时间:2013-04-24 09:51:02

标签: java android audio speaker

我想打开扬声器并将其设置为最大音量。 在我的PhoneStateListener中,我正在拦截来电,它适用于任何来电/去电。

问题是我只想为两个特定的传入号码打开此功能。

这是我的代码:

    case TelephonyManager.CALL_STATE_OFFHOOK:
        if (incomingNumber.equals( strRegisterNumber1) || incomingNumber.equals( strRegisterNumber2))
        {
            AudioManager audioManager = (AudioManager) contextMember.getSystemService(Context.AUDIO_SERVICE);
            audioManager.setSpeakerphoneOn(true);
            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);

        }
        break;

如果没有if语句,它可以正常工作,但在他的情况下,扬声器保持关闭状态。

请告知我的错误或如何实现目标?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Instaed of

incomingNumber.equals( strRegisterNumber1) || incomingNumber.equals( strRegisterNumber2) 

使用

incomingNumber.contains( strRegisterNumber1) || incomingNumber.contains( strRegisterNumber2)

因为来电号码可能包含国家/地区代码+或国家/地区代码00。因此,您只需检查来电号码是否包含所需的号码。

希望它有所帮助...

相关问题