2012-08-09 85 views
6

這個問題更多的是「這是可能的」問題。攔截電話來顯示聯繫人信息

在顯示傳入呼叫者的身份時,Android是否可以使用來自應用程序的不同聯繫人列表?

例如,如果一個人打電話,他們的身份是在應用程序聯繫人列表中,但不是在內部設備聯繫人列表中,我想讓在應用程序聯繫人列表中找到的ID顯示在呼叫者ID來電。

任何有識之士將不勝感激!

回答

3

我認爲廣播接收機是可能的。這裏有一些類似的問題Call block,Taking complete control of phone, is it possible和另一個名爲Intent Intercept的開源應用程序。我給你呼叫阻止鏈接,所以你可以趕上號碼,直接到您的應用程序,並阻止普通撥號器

+0

感謝您的聯繫!我用它們來獲得我期待的一個很好的乾淨迴應。我會在下面分享它! – TDev 2012-08-10 12:28:29

+0

如果我的第二個鏈接是正確的,所以你可以檢查正確的答案 – 2012-08-10 13:55:40

+0

實際上使用更多的第一個做我所需要的,但仍然適用。謝謝! – TDev 2012-08-10 17:55:52

4

我找到了我正在尋找的解決方案。我最終只是使用通知來顯示誰在打電話。我希望這可以幫助其他人尋找一個好的解決方案!

StateListener yourListener = new StateListener(); 
TelephonyManager yourmanager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
    yourmanager.listen(yourListener, PhoneStateListener.LISTEN_CALL_STATE); 




class StateListener extends PhoneStateListener{ 
    @Override 
    public void onCallStateChanged(int state, String incomingNumber) { 
     super.onCallStateChanged(state, incomingNumber); 
     switch(state){ 
      case TelephonyManager.CALL_STATE_RINGING: 
       //do what you want with the incoming number here: 
       break; 
      case TelephonyManager.CALL_STATE_OFFHOOK: 

       break; 
      case TelephonyManager.CALL_STATE_IDLE: 

       break; 

     } 
    }; 


public void onDestroy() { 

} 
} 
+0

它是如何解決您的原始問題?關於在來電屏幕上顯示來自其他應用程序的聯繫信息?從這段代碼中,好的,你可以接聽來電,但你如何在屏幕上顯示信息? – Zotyi 2014-12-11 16:46:59

相關問題