如何查找扬声器是否在Android中

时间:2011-01-19 03:33:07

标签: android

我需要通过可编程性找到扬声器电话是否打开。

我知道我们可以使用以下方法找到它是否开启。

AudioManager.isSpeakerphoneOn();

在我的情况下,即使发言者是由某些人开的,也会返回假。

我需要知道以下2件事。

1.是否有任何广播行动可以找到发言人的状态。

2.有没有找到扬声器电话状态变化的方法

3 个答案:

答案 0 :(得分:0)

尝试使用扬声器开启功能。

AudioManager audioManager = (AudioManager) Home.this.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
audioManager.setMode(AudioManager.MODE_IN_CALL);

答案 1 :(得分:0)

检查以下链接。可能有用。

Turn on speakerphone whenever an outgoing call is made

但该链接不使用广播接收器。它仅检查扬声器功能是否在此时开启。

答案 2 :(得分:0)

这里你去

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()){


    }