2012-01-09 31 views
5

mang tới đây là mã cho thực hiện cuộc gọi điện thoại từ Hoạt động của tôilàm thế nào để thực hiện cuộc gọi điện thoại với loa trên

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

câu hỏi là:

làm thế nào tôi có thể thực hiện cuộc gọi điện thoại và bật loa trên?

10X Elad

Trả lời

7

Sử dụng một AudioManager để bật loa và một CallStateListener nhận khi kết thúc cuộc gọi.

+0

Vì vậy, bạn đang nói rằng tôi nên lắng nghe các cuộc gọi đi? Nếu vậy làm thế nào tôi có thể nói rằng họ đến từ ứng dụng của tôi? –

+0

Không, trước khi bạn bắt đầu cuộc gọi, bạn đăng ký người nghe, sau đó kích hoạt loa ngoài. Sau khi nhận được 'CALL_STATE_IDLE', bạn xóa người nghe và tắt lại loa. – Force

+0

Sẽ cố gắng và báo cáo lại tại đây –

-1

tôi phát hiện ra rằng nếu tôi thêm mã theo thứ tự sau này làm việc tốt nhất cho tôi

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

trong khi sau không làm việc cho tôi nếu tôi setSpeakerphoneOn (true) ở dòng đầu tiên:

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

Thứ hai không hoạt động do audioManager chưa được xác định –

Các vấn đề liên quan