拦截电话以显示联系信息

时间:2012-08-09 14:21:02

标签: android

这个问题更像是一个“可能”的问题。

在显示来电者的身份时,Android是否可以使用应用中的其他联系人列表?

因此,例如,如果一个人打电话并且他们的身份在应用联系人列表中,但不在内部设备联系人列表中,我想让在应用联系人列表中找到的ID显示在该呼叫者ID上来电。

任何见解都将不胜感激!

2 个答案:

答案 0 :(得分: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() {

}
}

答案 1 :(得分:3)

我认为广播接收器是可能的。这里有一些类似的问题Call blockTaking complete control of phone, is it possible和另一个名为Intent Intercept的开源应用。我给你打电话阻止链接,这样你就可以抓住号码,直接到你的应用程序并阻止普通拨号器