2012-04-25 157 views
5

是否可以通過Android的SDK隱藏您撥打的號碼?考慮一下:你希望打私人電話,但由於許多人阻止了私人電話號碼,所以你不想使用*67。這是醫生經常做的事情 - 他們從他們的手機撥打電話,但不希望患者擁有他們的私人電話號碼。要通過虛擬號碼撥打電話的Android

想象一下,我們正在爲醫生構建一個應用程序。該應用程序被給予聯繫人列表,點擊聯繫人並進行呼叫,但以隱藏該電話的呼叫者ID的方式。例如,我有一個Google Voice號碼與我的真實手機號碼不同,我可以通過此號碼接聽電話。有沒有辦法通過Google語音以編程方式撥打電話?

我還可以在通話中註冊一些事件監聽器,以便在通話結束時應用程序知道它嗎?

+0

有一個叫Slydial偉大的應用程序,可以用謹慎的電話給你不想知道你叫別人幫忙。我知道這與你的問題沒有直接關係,但值得一試。 – Shades 2012-06-14 16:13:33

+0

感謝您指出這個有趣的應用程序。這是相關的,因爲我認爲你打電話的人只會看到呼叫者ID中的Slydial號碼。 – Thorn 2012-06-15 17:53:49

+0

Slydial會將您直接發送到他們的語音信箱,但不會隱藏您的電話號碼。但是,如果您擁有Google語音號碼並獲取適用於您手機的Google語音應用,則可以使用其設置從語音號碼撥打Slydial呼叫;您的語音號碼就是顯示的號碼,而不是您的手機。 – 2012-07-17 16:08:29

回答

2

您可以檢查this link,它使用telephony api這個。請查看第15.1.3節Example: Determining the State of a Call

我也是在這裏粘貼示例代碼:

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

鏈接不再有效 – 2017-08-24 13:00:43