有没有一种方法可以动态地修改有人打电话时在屏幕上显示的名称?

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

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

联系人姓名被更改为“测试”,但是在通话期间屏幕上可见的姓名没有更改。

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

我尝试了contentResolver.notifyChange(URI_CONTACTS, null, true),但是不起作用

预先感谢您的任何建议

最佳答案

有没有一种方法可以动态地修改有人打电话时在屏幕上显示的名称?


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


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


尽管如此,电话应用仍必须将自己注册为观察者。

关于android - 如何动态修改来电者姓名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25351461/

10-12 01:41