2010-02-12 35 views
51

Khi ACTION_NEW_OUTGOING_CALL đã được phát, tôi cần chụp lại sự kiện sau của câu trả lời của bên kia. Bạn có thể tư vấn về cách đạt được điều đó không? Tôi biết nó có thể là ứng dụng quay số android thay đổi biểu tượng android màu xanh lá cây để excatly ảnh của người khi họ nhận. Cảm ơn!Phát hiện xem cuộc gọi đi có được trả lời là

CẬP NHẬT: Tôi đã xem xét nguồn của ứng dụng trên Android xử lý các cuộc gọi đi. Tôi nhận thấy các phương pháp sau đây trong ContactsUtils:

/** 
* Kick off an intent to initiate a call. 
*/ 

public static void initiateCall(Context context, CharSequence 
phoneNumber) { 
    Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, 
      Uri.fromParts("tel", phoneNumber.toString(), null)); 
    context.startActivity(intent); } 

Tôi đoán câu trả lời của tôi là trong hoạt động nghe cho Intent.ACTION_CALL_PRIVILEGED. Vì vậy, để reprhase câu hỏi của tôi: Có ai biết hoạt động xử lý Intent.ACTION_CALL_PRIVILEGED? Cảm ơn bạn đã nâng cao

+0

yo u tìm giải pháp cho vấn đề của bạn? tôi cũng đang tìm kiếm giải pháp tương tự. Tôi muốn biết nếu người dùng cuối khác đã nhận cuộc gọi hoặc anh ta đã ngắt kết nối –

+0

Hiện tại, bạn không thể phát hiện chính xác khi nào họ đã chọn; ứng dụng Người gọi sử dụng mục đích nội bộ cho điều đó. – mobilekid

+0

yeah đây là những gì tôi cũng đã kết luận hôm nay: - |, anyways thanks –

Trả lời

3

Điều này không nhất thiết phải có khả năng ghi lại điều này dưới dạng ứng dụng bên ngoài. Biểu tượng android màu xanh lá cây là một phần của ứng dụng điều khiển cuộc gọi, vì vậy nó không cần phát sóng để thay đổi biểu tượng.

+4

Có, tuy nhiên , Tôi cần phải nắm bắt sự kiện này! – mobilekid

7

Tôi không nghĩ có API như vậy và cũng không có API để gửi DTMF do cùng lý do bạn không thể biết thời điểm cuộc gọi đang được kết nối.

1

Cách duy nhất bạn có thể làm điều này là bằng cách phân tích cú pháp nhật ký Logcat, không có sự kiện PhoneStateListener nào khả dụng cho điều đó.

Một số đang yêu cầu nó ở đây: https://code.google.com/p/android/issues/detail?id=14266

Dù sao, trong các phiên bản trên Android 4.2 như Logcat là "sandbox" nó có thể là không thể ...

+0

Nếu chúng ta đặt targetSdkVersion của ứng dụng thành <4.2. Sau đó chúng ta có thể đọc nhật ký hệ thống bằng cách sử dụng logcat không? –

+1

Tôi không sợ. vì đó là nhật ký của ứng dụng Điện thoại được đóng hộp cát. Nó không quan trọng mà sdk ứng dụng của bạn đang sử dụng. –

2

Theo như quản lý điện thoại android của là có liên quan u có thể không phát hiện lập trình xem cuộc gọi đã được trả lời hay chưa. Điều này là để nói rằng u không có tùy chọn để biết khi nào người dùng đã chọn điện thoại ở đầu bên kia. Android có 3 trạng thái quản lý điện thoại và không ai trong số họ có khả năng phát hiện xem cuộc gọi có thực sự là trả lời hay không (TRONG TRƯỜNG HỢP NGOẠI HỐI)

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