2012-04-25 25 views
5

Có thể ẩn số bạn đang gọi từ SDK của Android không? Xem xét điều này: Bạn muốn thực hiện cuộc gọi riêng tư, nhưng vì nhiều người chặn số riêng tư, bạn không muốn sử dụng *67. Đây là một cái gì đó Các bác sĩ làm thường xuyên - họ gọi từ điện thoại di động của họ nhưng không muốn bệnh nhân có số lượng tế bào riêng của họ.Android để gọi từ số ảo

Vì vậy, hãy tưởng tượng chúng tôi đang xây dựng một ứng dụng cho Thầy thuốc. Ứng dụng này được cung cấp một danh sách các số liên lạc, một số liên lạc được bấm và cuộc gọi được thực hiện, nhưng theo cách ẩn ID người gọi của điện thoại này. Ví dụ: tôi có số Google Voice khác với số điện thoại di động thực của mình và tôi có thể nhận cuộc gọi trên số này. Có cách nào để lập trình gọi điện thoại qua Google Voice không?

Tôi cũng có thể đăng ký một số người nghe sự kiện trên cuộc gọi để khi cuộc gọi kết thúc ứng dụng là nhận thức được nó?

+0

Có một ứng dụng tuyệt vời được gọi là Slydial có thể giúp với các cuộc gọi điện thoại kín đáo để một người nào đó bạn không muốn biết bạn gọi. Tôi biết điều đó không liên quan trực tiếp đến câu hỏi của bạn nhưng nó đáng để kiểm tra. – Shades

+0

Cảm ơn bạn đã chỉ ra ứng dụng thú vị này. Nó liên quan bởi vì tôi nghĩ người bạn gọi sẽ chỉ thấy số Slydial trong ID người gọi. – Thorn

+0

Slydial gửi bạn thẳng đến thư thoại của họ, nhưng nó không ẩn số điện thoại của bạn. Tuy nhiên, nếu bạn có số Google Voice và tải ứng dụng Google Voice cho điện thoại của mình, bạn có thể sử dụng cài đặt của Google Voice để thực hiện cuộc gọi Slydial từ số Voice của bạn; Số điện thoại của bạn sau đó là số được hiển thị, không phải là số điện thoại của bạn. –

Trả lời

2

Bạn có thể kiểm tra this link, sử dụng telephony api cho việc này. Vui lòng kiểm tra phần 15.1.3 Example: Determining the State of a Call.

Tôi dán mã ví dụ cũng ở đây:

private class ListenToPhoneState extends PhoneStateListener { 

public void onCallStateChanged(int state, String incomingNumber) { 
    Log.i("telephony-example", "State changed: " + stateName(state)); 
} 

String stateName(int state) { 
    switch (state) { 
     case TelephonyManager.CALL_STATE_IDLE: return "Idle"; 
     case TelephonyManager.CALL_STATE_OFFHOOK: return "Off hook"; 
     case TelephonyManager.CALL_STATE_RINGING: return "Ringing"; 
    } 
    return Integer.toString(state); 
    } 
} 
+2

Liên kết không còn hoạt động –

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