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

相关推荐
我命由我123451 分钟前
Android Studio 提示信息 ‘equals(““)‘ can be replaced with ‘isEmpty()‘
android·ide·android studio·安卓·android jetpack·android-studio·android runtime
Bryce李小白10 分钟前
Flutter实现Android原生相机拍照
android·数码相机·flutter
初学者-Study11 分钟前
Android基础(一) 运行HelloWorld
android·helloworld·模拟器运行
BUG创建者1 小时前
openlayer根据不同的状态显示不同的图层颜色
android·java·javascript
用户2018792831671 小时前
浅谈画框ImageView的background和src属性的差异
android
2501_915909062 小时前
iOS 加固工具实战解析,主流平台审核机制与工具应对策略
android·ios·小程序·https·uni-app·iphone·webview
马 孔 多 在下雨2 小时前
安卓服务与多线程
android
2501_915106324 小时前
iOS WebView 调试实战,第三方脚本加载失败与内容安全策略冲突问题排查指南
android·ios·小程序·https·uni-app·iphone·webview
消失的旧时光-19435 小时前
Android 键盘
android·键盘监听
Jackilina_Stone18 小时前
【faiss】用于高效相似性搜索和聚类的C++库 | 源码详解与编译安装
android·linux·c++·编译·faiss