我正在使用 iOS 10 的 CallKit 来接听来电。我的应用程序中的呼叫不是来自“电话号码”或“电子邮件地址”,而是来自我的协议中的内部标识符。因此,我报告来电CXHandleType
of CXHandleTypeGeneric
(并不是CXHandleTypePhoneNumber
or CXHandleTypeEmailAddress
),使用自定义字符串作为句柄的“值”。
当我报告来电且手机未锁定时,用户会看到一个来电屏幕,其中包含“提醒我”、“消息”、“拒绝”和“接受”按钮。如果用户按下“消息”按钮,并选择以下菜单上的消息字符串之一,它会尝试通过“消息”应用程序将该字符串作为文本消息发送,目标是我用作“值”的自定义字符串。 ” 的呼叫句柄,就好像它是电话号码或电子邮件地址,即使它不是。这通常会导致消息由于目标无效而无法发送,但是,根据字符串,它实际上可能发送到用户不想发送到的有效目标;两种结果都是不好的。
我想看看是否有一种方法可以让消息不通过消息应用程序发送(在我的情况下这总是不正确的),而是传递到我的应用程序中,以便我可以通过我的应用程序正确地将消息发送给调用者内部协议。
Update:iOS 10.1 上不再出现“提醒我”和“消息”按钮
如果iOS 12支持SiriKit,则会出现“消息”按钮。
(添加INSendMessageIntent
到意图的 info.plist)
如何拦截:
- 运行意图扩展
- 处理
handler(for intent:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)