有没有一种方法可以动态地修改有人打电话时在屏幕上显示的名称?
例如,我的联系人列表中有一个名为“比尔·盖茨”的号码“ 123456789”。现在,当数字“ 123456789”给我打电话时,我希望将屏幕上显示的相应名称更改为“ Test”。
我有一个正在收听来电的广播接收器。接到具有特定号码(123456789)的电话后,我将联系人姓名更改为相应的值(测试)。
联系人姓名被更改为“测试”,但是在通话期间屏幕上可见的姓名没有更改。
是否没有类似观察者模式的方式,一旦联系人更新,所有接收者都会收到通知?
我尝试了contentResolver.notifyChange(URI_CONTACTS, null, true)
,但是不起作用
预先感谢您的任何建议
最佳答案
有没有一种方法可以动态地修改有人打电话时在屏幕上显示的名称?
不,至少没有适合您情况的通用方法。电话应用程序必须自己检查呼叫者姓名的更改。如测试所示,这不适用于您正在使用的电话应用程序。
是否没有类似观察者模式的方式,一旦联系人更新,所有接收者都会收到通知?
尽管如此,电话应用仍必须将自己注册为观察者。
关于android - 如何动态修改来电者姓名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25351461/