当有人打电话时,有没有办法动态修改屏幕上显示的名字?
例如,我的联系人列表中有一个名为“Bill Gates”的号码“123456789”。现在当数字“123456789”给我打电话时,我希望屏幕上显示的相应名称改为例如“Test”。
我有一个正在收听来电的广播接收器。一旦我接到特定电话号码(123456789),我就会将联系人姓名更改为相应的值(测试)。
联系人姓名更改为“测试”,但在通话期间屏幕上显示的名称不会更改。
是否有类似观察者模式的东西,一旦联系人被更新,所有接收者都会收到通知?
我尝试了contentResolver.notifyChange(URI_CONTACTS, null, true)
,但无效
提前感谢您提出任何建议
答案 0 :(得分:1)
当有人打电话时,有没有办法动态修改屏幕上显示的名字?
不,至少没有适合您情景的通用方法。手机应用程序必须自行检查来电者姓名的更改。如您的测试所示,这不适用于您正在使用的手机应用程序。
是否有类似观察者模式的东西,一旦联系人更新后,所有接收者都会收到通知?
然而,手机应用程序必须将自己注册为观察者。