2012-01-09 66 views
5

带到这里是从我的活动如何使扬声器电话上

public void makeAPhoneCallWithSpeakerOn() 
{ 
    String uri = "tel:" + posted_by.trim() ; 
    Intent intent = new Intent(Intent.ACTION_CALL); 
    intent.setData(Uri.parse(uri)); 
    startActivity(intent); 
} 

问题拨打电话代码:

我怎样才能使手机通话和关闭扬声器上?

10X埃拉德

回答

7

使用一个AudioManager以接通扬声器和CallStateListener用于接收所述呼叫的结束。

+0

所以你说我应该听听传出的电话?如果是这样,我怎么能说他们来自我的申请? – 2012-01-09 18:29:51

+0

不,在您开始通话之前注册听众,然后启动免提电话。收到'CALL_STATE_IDLE'后,您将移除监听器并再次停用扬声器电话。 – Force 2012-01-09 18:33:24

+0

将尝试并返回这里 – 2012-01-09 18:35:54

-1

我发现,如果我添加的代码在这下面的顺序最适合我

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

,而下面的不适合我的工作,如果我setSpeakerphoneOn(真)在第一行:

 audioManager.setSpeakerphoneOn(true); 
     audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
     audioManager.setMode(AudioManager.MODE_IN_CALL); 
+1

第二个不起作用,因为audioManager尚未定义 – 2013-12-28 18:25:35