raf*_*afi 5 android kotlin telecom-manager
我想制作一个自定义拨号器应用程序来替换我的默认拨号器应用程序。我做了一些搜索,发现可以使用ConnectionService或InCallService构建拨号器应用程序。 在这里,他们使用connectionService来创建调用应用程序,而这里使用IncallService来创建调用应用程序。
ConnectionService 的用例:
- 可以拨打电话(VoIP 或其他方式)并希望将这些呼叫集成到内置电话应用程序中。称为系统管理的 ConnectionService。
- 是一个独立的呼叫应用程序,不希望将其呼叫集成到内置电话应用程序中。称为自我管理的 ConnectionService。
InCallService 的用例:
该服务由希望提供管理电话呼叫功能的应用程序实现。
所以区别之一是视频通话。使用connectionService 可以进行视频通话。我还缺少其他差异吗?我应该使用哪一个来制作自定义拨号器应用程序?
小智 0
连接服务:- 负责创建具有所需属性和功能的“连接”对象,例如 can_mute、can_hold、can_downgrade_to_voice_call 等,根据 UI 中启用或禁用的选项。连接对象还提供用于呼叫操作的方法,例如接受呼叫、拒绝呼叫、以某种原因断开呼叫、保持呼叫等。
InCallService:- InCallService 的职责是提供呼叫交互的 UI,其中包括通知、呼叫屏幕、呼叫处理按钮等所有内容。
Android Telecom 侦听正在创建的调用并向 ConnectionService 请求连接对象。所有呼叫操作操作都在此连接对象上执行,该连接对象保留在电信中,直到呼叫结束后被销毁。
简而言之,InCallService 允许用户与呼叫交互,而 ConnectionService 则根据 InCallService 提供的 UI 发出的用户请求处理呼叫操作。
由于您关心制作拨号器应用程序,因此 InCallService 是要实现的必需类。如果您想要对呼叫进行扩展控制,您可以选择 ConnectionService。
| 归档时间: |
|
| 查看次数: |
1002 次 |
| 最近记录: |