我需要通过可编程性来找出扬声器电话是否打开。
我知道我们可以找到使用下面的方法,无论它是打开还是关闭。
AudioManager.isSpeakerphoneOn();
在我的例子中,即使扬声器是开着的,它也会返回false。
我需要知道以下两件事。
1.是否有任何广播操作来查找扬声器状态。
2.有没有办法找出扬声器电话状态的变化
发布于 2014-04-16 18:09:23
对于扬声器功能,请尝试此功能。
AudioManager audioManager = (AudioManager) Home.this.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
audioManager.setMode(AudioManager.MODE_IN_CALL);
发布于 2014-04-16 21:30:26
检查下面的链接。可能会有用。
Turn on speakerphone whenever an outgoing call is made
但是该链路不使用广播接收器。它只检查扬声器功能在该时刻是否打开。
发布于 2014-04-16 21:34:30
这就是你要的
AudioManager audioManager = (AudioManager) MainActivity.this .getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL);
if(audioManager.isSpeakerphoneOn()){
audioManager.setSpeakerphoneOn(true);
}else if(!audioManager.isSpeakerphoneOn()){
}
https://stackoverflow.com/questions/4731484
复制相似问题