【发布时间】:2013-04-17 19:37:26
【问题描述】:
我想打开扬声器并将其设置为最大音量。 在我的 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 语句,它可以正常工作,但在他的情况下,扬声器会保持关闭。
请告知我做错了什么或如何实现我的目标?
感谢您的帮助。
【问题讨论】:
-
所以如果我理解正确,您的扬声器启用/设置音量代码正在工作 - 总是返回错误的是字符串比较?您是否尝试过记录所有三个字符串以查看它们包含的内容?
-
是的。两串。这就是奇怪的事情。它们包含我想要的传入号码。我不明白这是问题所在。
-
我稍后使用相同的 if 语句,它返回 true!
标签: java android audio speaker