这是我的代码的一部分:
case TelephonyManager.CALL_STATE_OFFHOOK:
//CALL_STATE_OFFHOOK;
setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(true);
boolean check = am.isSpeakerphoneOn();
Toast.makeText(Speaker.this, "LoudSpeaker On: "+ check,Toast.LENGTH_LONG).show();
并且我已经在清单中添加了MODIFY_AUDIO_SETTINGS的权限。但是扬声器电话没有设置为打开..可以任何人友好地帮助解决这个问题..提前谢谢......顺便说一下..这个应用程序是在Android 2.1中实现的
答案 0 :(得分:2)
尝试在打开前保持500毫秒..
所以它会是这样的:
case TelephonyManager.CALL_STATE_OFFHOOK:
// CALL_STATE_OFFHOOK;
try {
Thread.sleep(500); // Delay 0,5 seconds to handle better turning on
// loudspeaker
} catch (InterruptedException e) {
}
setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(true);
boolean check = am.isSpeakerphoneOn();
Toast.makeText(Speaker.this, "LoudSpeaker On: " + check,
Toast.LENGTH_LONG).show();
btw我有Xperia 4.1.2,你的初始代码没有任何问题..