Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打开呼入通话中的扬声器_Java_Android_Audio_Speaker - Fatal编程技术网

Java 打开呼入通话中的扬声器

Java 打开呼入通话中的扬声器,java,android,audio,speaker,Java,Android,Audio,Speaker,我想打开扬声器并将其设置为最大音量。 在我的PhoneStateListener中,我正在拦截传入呼叫,它对任何传入/传出呼叫都可以正常工作 问题是,我只想为两个特定的输入号码启用此功能 这是我的代码: case TelephonyManager.CALL_STATE_OFFHOOK: if (incomingNumber.equals( strRegisterNumber1) || incomingNumber.equals( strRegisterNumber2))

我想打开扬声器并将其设置为最大音量。 在我的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语句,它可以正常工作,但在他的情况下,演讲者不说话

请告知我做错了什么或如何实现我的目标

谢谢你的帮助。

安装

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

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


希望对您有所帮助……

因此,如果我理解正确,您的扬声器启用/设置音量代码正在工作-字符串比较总是返回false?您是否尝试记录所有三个字符串以查看它们包含的内容?是的。两条线。真奇怪。它们包含的输入号码完全符合我的要求。我不明白问题出在哪里。我稍后使用相同的if语句,它返回true!试过了。没有变化。无论如何,谢谢。您是否检查/打印/记录了
if
语句前面的
incomingNumber
stregisternumber1
stregisternumber2
的值。
incomingNumber.contains( strRegisterNumber1) || incomingNumber.contains( strRegisterNumber2)