如何动态修改呼叫者姓名

时间:2014-08-17 16:56:18

标签: android contacts

当有人打电话时,有没有办法动态修改屏幕上显示的名字?

例如,我的联系人列表中有一个名为“Bill Gates”的号码“123456789”。现在当数字“123456789”给我打电话时,我希望屏幕上显示的相应名称改为例如“Test”。

我有一个正在收听来电的广播接收器。一旦我接到特定电话号码(123456789),我就会将联系人姓名更改为相应的值(测试)。

联系人姓名更改为“测试”,但在通话期间屏幕上显示的名称不会更改。

是否有类似观察者模式的东西,一旦联系人被更新,所有接收者都会收到通知?

我尝试了contentResolver.notifyChange(URI_CONTACTS, null, true),但无效

提前感谢您提出任何建议

1 个答案:

答案 0 :(得分:1)

  

当有人打电话时,有没有办法动态修改屏幕上显示的名字?

不,至少没有适合您情景的通用方法。手机应用程序必须自行检查来电者姓名的更改。如您的测试所示,这不适用于您正在使用的手机应用程序。

  

是否有类似观察者模式的东西,一旦联系人更新后,所有接收者都会收到通知?

然而,手机应用程序必须将自己注册为观察者。