我有一个voip应用程序集成了呼叫工具包。每次我从我的voip应用程序调用时,都会在本机Phone应用程序中创建一个新的。我也在voip应用程序中有自定义联系人(电话应用程序不了解它们)。问题是,当我在电话最近的应用程序中调用自定义联系人时,只显示没有联系人姓名的电话号码。
例如,我有自定义联系电话号码“sip:test”并命名为“Test”。当我在最近的电话中调用此自定义联系人时,电话应用程序仅显示“sip:test”。
我开始一个叫做休闲的外线电话:
CXHandle *startCallHandle = [[CXHandle alloc] initWithType:CXHandleTypeGeneric value:@"sip:test"];
CXStartCallAction *startCallAction = [[CXStartCallAction alloc] initWithCallUUID:@"some_UUID" handle:startCallHandle];
CXTransaction *transaction = [[CXTransaction alloc] initWithAction:startCallAction];
[self.callController requestTransaction:transaction completion:nil}];
我的问题是有没有办法从手机应用程序修改最近的名字?
答案 0 :(得分:3)
您不告诉提供商该名称是"测试"在任何时候,系统都不知道姓名和节目号码。要在 performStartCallAction 中通知系统名称,您需要添加下一个代码:
CXCallUpdate *update = [[CXCallUpdate alloc] init];
[update setRemoteHandle:[[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:number]];
[update setLocalizedCallerName:name];
[provider reportCallWithUUID:uuid updated:update];