Jetpack Telecom 库的初始版本推出了 CallsManager,取代了旧版 ConnectionService API,以简化 VoIP 集成。CallsManager 可简化通话生命周期管理和音频路由,同时支持与智能手表、蓝牙设备和 Android Auto 等远程界面互动。此外,它还支持通话扩展,以提供更丰富的功能,例如参与者处理、自定义图标、通话静音和远程界面上的会议摘要,同时保持向后兼容性,可兼容到 Android O(API 级别 26)。
在此基础上,Jetpack Telecom v1.1.0 为第三方 VoIP 应用带来了原生级别的可见性和便利性。此最新版本引入了强大的新功能,包括统一的通话记录、通话记录排除和原生回调功能,让用户能够比以往更顺畅地管理通话。
下面我们来详细了解一下新功能,以及如何在应用中实现这些功能。
弥合拨号器差距:统一的通话记录和回拨
过去,用户必须打开各个第三方应用才能查看 VoIP 通话记录或回拨未接电话。借助新的集成通话记录功能,系统拨号器应用现在可以直接显示第三方 VoIP 应用中的通话记录。
更棒的是,用户现在可以直接从原生系统拨号器向 VoIP 联系人发起回拨,从而简化通信体验。
工作方式:
如需选择启用此功能,请执行以下操作:
- 注册回调: 您的 VoIP 应用必须注册一个新的受系统保护的 intent:
TelecomManager.ACTION_CALL_BACK。 - 记录通话: 使用
TelecomManager.addCall(或相关的 Jetpack API)确保系统自动记录通话。 - 管理通话 ID: 注册通话后,
CallControlScope.getCallId会提供一个唯一的 UUID。系统拨号器在创建回调 intent 时会使用此确切的TelecomManager.EXTRA_UUID。 - 发起回拨: 您的应用必须存储和管理与此 UUID 关联的通话详细信息。当系统拨号器使用
EXTRA_UUID触发回调 intent 时,您的应用可以无缝解析 ID 并使用正确的详细信息发起通话。
精细控制:通话记录排除
我们认识到,并非所有 VoIP 通话都应显示在系统的原生拨号器记录中。无论是出于隐私原因、临时通信还是应用特定的行为,您都需要控制显示的内容。
为了解决这个问题,我们推出了通话记录排除。您现在可以通过在 CallAttributesCompat 中将 isLogExcluded 布尔值设置为 true,来阻止将特定通话记录到系统通话记录中。配置此标志后,通话将完全隐藏在系统记录中,并且原生拨号器不会显示该通话。
关于兼容性的重要说明
这些集成记录和回调功能适用于搭载 Android 16.1 (SDK 36.1) 及更高版本的设备。如需使用 Android SDK 36.1 编译应用,请点击 此处。
使用入门
我们鼓励开发者测试这些集成,并探索统一的通话记录和回调如何改善 VoIP 应用的日常用户体验。
为了帮助您入门并了解这些 API 的实际应用,我们提供了一个演示新集成的示例应用。
注意:虽然 Jetpack Telecom v1.1.0 API 可用于集成,但系统拨号器呈现原生通话记录的功能正在分阶段推出,首先推出的是 Google Meet。为了防范垃圾信息,原生拨号器会使用安全的软件包许可名单来控制 VoIP 显示。如需对回调和记录实现进行本地测试,我们建议您使用开源的 Telecom 示例拨号器应用作为模拟器环境。
继续阅读
-
产品动态
在今年的 Google I/O 大会上,我们讨论了不断发展的业务模式,该模式提供了更多选择,并为您的应用和内容在应用商店内外的发现提供了新方式。我们还推出了先进的工具和洞见,这些工具和洞见将帮助您以更低的复杂性扩展业务。
Paul Feng • 阅读用时:6 分钟
-
产品动态
我们很高兴地宣布,Android XR 现已正式支持 Unreal Engine 和 Godot。我们还推出了旨在提高您的工作效率并启用新的 XR 功能的新工具:Android XR Engine Hub 和 Android XR Interaction Framework。
Luke Hopkins • 阅读用时:4 分钟
-
产品动态
我们很高兴分享 Google TV 功能和开发者工具,这些功能和工具旨在提高您的内容的可发现性,并为您的应用做好准备,以适应未来的电视体验。
Paul Lammertsma • 阅读用时:4 分钟
随时了解最新动态
每周通过电子邮件接收最新的 Android 开发洞见 每周。