Google推出Telecom Jetpack库,让Android通话应用创建更简单

Google推出Telecom Jetpack库,让Android通话应用创建更简单

Telecom Jetpack库的最新Alpha版本已经推出。该库提供了多个API,以简化Android开发者创建语音和/或视频通话应用程序的过程,支持常见功能,例如接听/拒绝、音频路由等等。

https://developer.android.google.cn/jetpack/androidx/releases/core?hl=zh-cn#core-telecom_version_10_2

处理前台服务使用情况

首先,新库会处理声明前台服务使用情况,这意味着开发者无需显式声明前台服务以符合Android 14引入的新隐私要求。此外,当用户离开应用程序时,该库还会自动确保通话不会中断。

智能手表处理用户操作

Telecom库还提供了一个API,用于智能手表处理用户操作,例如接听、拒绝、挂断和静音通话。该API可以无缝更新手表显示与通话相关的信息,并管理在正在进行另一个通话时收到新通话的情况,为用户提供保持当前通话的可能性。

音频路由

新库提供的另一个主要功能是音频路由,因此使用该库的应用程序无需使用音频管理器来跟踪设备的音频状态、获取可用音频设备列表等。库能够列出所有可用的端点,以便将音频流传输到/从蓝牙音频设备。

CallsManager类

Telecom库引入了一个新的CallsManager类,取代了之前版本库中的ConnectionService类,并需要开发者进行特定迁移以利用新库提供的所有优势。尽管从ConnectionService迁移到CallManager相对容易实现,但并非仅仅更改命名空间。可以将CallManager视为ConnectionService,将CallControlScope视为ConnectionService

以下代码段演示了如何添加具有给定属性的新通话:

kotlin 复制代码
val attributes = CallAttributesCompat( 
    displayName = displayName, 
    address = address,
    direction = CallAttributesCompat.DIRECTION_INCOMING,
    callType = CallAttributesCompat.CALL_TYPE_AUDIO_CALL,
    callCapabilities = (CallAttributesCompat.SUPPORTS_SET_INACTIVE
        or CallAttributesCompat.SUPPORTS_STREAM 
        or CallAttributesCompat.SUPPORTS_TRANSFER), 
)
callsManager.addCall(
    attributes
) { 
    // Call control area 
}

据Google表示,新库将在未来几个月内推出许多新功能,并与Android O(API级别26)向后兼容。如果您有兴趣使用该库创建Android VoIP应用程序,则最好从Google的官方示例应用程序开始,以了解如何使用各种API。

https://github.com/android/platform-samples

参考

https://github.com/android/platform-samples/blob/main/samples/connectivity/telecom

https://developer.android.google.cn/develop/connectivity/telecom?hl=zh-cn

相关推荐
火柴就是我13 分钟前
android shadertoy效果 转换成 Android动态壁纸的写法
android
Bryce李小白1 小时前
Kotlin Flow 的使用
android·开发语言·kotlin
氦客3 小时前
Android Compose 状态的概念
android·compose·重组·状态·组合·mutablestate·mutablestateof
Jerry3 小时前
Compose 约束条件和修饰符顺序
android
千里马学框架4 小时前
安卓系统中线程优先级Priority查看方式汇总
android·framework·线程·安卓framework开发·优先级·priority
沐怡旸5 小时前
【Android】Handler/Looper机制相关的类图和流程图
android
生莫甲鲁浪戴5 小时前
Android Studio新手开发第二十一天
android·ide·android studio
生莫甲鲁浪戴5 小时前
Android Studio新手开发第二十二天
android·ide·android studio
用户41659673693555 小时前
Jetpack Compose 中实现带圆角边框的单词级富文本效果(分词与布局实践)
android
顾林海5 小时前
Android UI优化:让你的APP从“卡顿掉帧”到“丝滑如德芙”
android·面试·性能优化