2012-08-09 146 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

相关问题