我试图在服务中使用audiomanager.setSpeakerphoneOn(true)以编程方式在呼叫中设置免持话筒,但它似乎不起作用,我不知道为什么。我应该做点别的吗?
谢谢
发布于 2010-04-19 02:38:43
检查清单文件是否具有执行此操作所需的权限。
我想这就是你需要的权限,MODIFY_AUDIO_SETTINGS
发布于 2014-08-17 14:20:38
在安卓4.1及更高版本中,当你打电话时,手机会自动关闭扬声器。因此,您需要做的是在接收器中添加免提电话,以便在状态为"offHook“时监听正在发出的呼叫,甚至延迟0.5秒来打开扬声器,如下所示:
final Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
MainActivity.shouldTurnSpeakerOn = false;
MainActivity.shouldTurnSpeakerOff = true;
Log.d("incoming_call","speaker_on");
}
}, 500);请记住将其添加到电话状态侦听器中。以及当状态为空闲(早期版本需要)时关闭扬声器电话。
祝好运。
https://stackoverflow.com/questions/2663108
复制相似问题