2015-07-26 25 views
6

Tôi đang cố gắng phát hiện khi người dùng trả lời điện thoại. Ứng dụng của tôi quay số điện thoại nhưng không nhìn thấy nếu người dùng trả lời tôi không thể thực hiện chức năng chính mà tôi cần. Có vẻ như bạn đã có thể làm điều này trong phiên bản 5 trở lên như đã thấy trong bài đăng này, nhưng tôi không thể tìm ra cách để làm điều đó. Tôi biết ai đó phải đã đưa ra một công việc xung quanh bởi vì như một người trước đây đã nói hẹn giờ cuộc gọi bắt đầu khi người dùng trả lời như vậy phải có một cách để phát hiện nó. Câu hỏi này đã được đăng nhiều lần, nhưng không ai đăng câu trả lời CORRECT.Cách kiểm tra xem cuộc gọi đi có được trả lời không, trong Android?

Dường như câu trả lời nằm trong Tim S. trả lời ở đây:

Cannot detect when outgoing call is answered in Android

<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" /> 

<receiver android:name=".listener.OutCallLogger"> 
    <intent-filter> 
     <action android:name="android.intent.action.PRECISE_CALL_STATE" /> 
    </intent-filter> 
</receiver> 
public class OutCallLogger extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     switch (intent.getIntExtra(TelephonyManager.EXTRA_FOREGROUND_CALL_STATE, -2) { 
      case PreciseCallState.PRECISE_CALL_STATE_IDLE: 
       Log.d(This.LOG_TAG, "IDLE"); 
       break; 
      case PreciseCallState.PRECISE_CALL_STATE_DIALING: 
       Log.d(This.LOG_TAG, "DIALING"); 
       break; 
      case PreciseCallState.PRECISE_CALL_STATE_ALERTING: 
       Log.d(This.LOG_TAG, "ALERTING"); 
       break; 
      case PreciseCallState.PRECISE_CALL_STATE_ACTIVE: 
       Log.d(This.LOG_TAG, "ACTIVE"); 
       break; 
     } 
    } 
} 
+0

Bất kỳ câu trả lời hoặc chỉ dẫn nào cho điều này? –

+0

bạn có tìm thấy giải pháp nào không? – Mujtaba

Trả lời

0

Tôi không nghĩ rằng nó có thể mà không thực sự kiểm tra kiểu chuông cho thay đổi. Tôi sẽ đưa ra một ý tưởng về cách nó có thể có thể được thực hiện bởi vì không ai đưa ra bất kỳ câu trả lời nào được nêu ra.

Trên cả hai điện thoại hiện tại của tôi (một là gốc, một là không), số được gọi và sau đó 'hẹn giờ gọi' bắt đầu. Bản thân điện thoại dường như không biết khi nào cuộc gọi đã được trả lời, chỉ khi cuộc gọi kết thúc. Tôi không tin rằng có một cách đơn giản để làm điều này.

Nếu bạn so sánh từng nhạc chuông riêng lẻ và so sánh khoảng cách để đảm bảo cuộc gọi vẫn đang đổ chuông, bạn sẽ biết rằng cuộc gọi chưa được trả lời. Một khi bạn phát hiện tiếng ồn mà không nên có, bạn có thể giả định rằng ai đó đã trả lời và nói "Xin chào" hoặc bất cứ điều gì (hy vọng không phải tại cùng một thời điểm chính xác như một nhạc chuông). Bạn đã biết cách phát hiện xem cuộc gọi đã kết thúc chưa. Tôi không có ý tưởng một loại API âm thanh ai đó sẽ bắt đầu với một dự án như thế này.

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