是否有一种方法如何动态修改出现在屏幕上的名字,当有人打电话?
例如,我的联系人列表中有一个号码是"123456789",名字是"Bill Gates"。现在,当号码"123456789"呼叫我时,我希望将屏幕上显示的对应名称更改为"Test"。
我有一个广播接收器,用来监听来电。收到特定号码(123456789)的呼叫后,我将联系人姓名更改为相应的值(Test)。
联系人姓名更改为"Test",但在通话过程中屏幕上显示的姓名不变。
有没有类似观察者模式的东西,一旦联系人被更新,所有的接收者都会得到通知?
我尝试了contentResolver.notifyChange(URI_CONTACTS, null, true)
,但是不工作
提前感谢您的建议
是否有一种方法如何动态修改出现在屏幕上的名字,当有人打电话?
不,至少没有适合你的场景的通用方法。手机应用程序必须自己检查来电者姓名的变化。正如你的测试所显示的,这并不适用于你正在使用的手机应用程序。
有没有类似观察者模式的东西,一旦联系人被更新,所有的接收者都会得到通知?
不过,手机应用程序必须将自己注册为观察者。