如何使用 Fossify Phone 重新掌控 Android 通话功能
不知从何时起,智能手机上的标准拨号应用开始变得臃肿不堪。厂商定制系统中的内置广告、不断增长的权限请求,以及被发送到第三方服务器的数据——这对于许多 Android 用户来说再熟悉不过。当一个简单的"拨打电话"功能需要持续的网络连接时,你就开始寻找替代方案。
就这样,我偶然发现了 Fossify Phone 仓库。这是一个由 Fossify 社区开发者创建的轻量级开源通话应用。
这个项目是什么?它从何而来?
这个项目的历史与著名的 Simple Mobile Tools 系列的一个分支密切相关。当原始应用套件被新所有者收购并开始积累可疑功能时,爱好者们保留了干净的代码库。这项努力的结果就是 Fossify 项目。
Fossify Phone 处理基本的通讯任务,但以完全透明的方式进行。该应用没有追踪器、广告,也不会贪婪地请求设备存储访问权限,除非是功能所必需的。
核心功能
该应用不追求重新发明轮子,而是专注于稳定性和速度。
- 支持多 SIM 卡设备并可在卡间快速切换
- 内置垃圾号码拦截器和灵活的黑名单
- 无需第三方服务即可管理联系人和通话记录
- 主题自定义,包括深色模式和强调色
界面响应迅速,即使在入门级设备上也能流畅运行。这在与标准厂商应用的对比中尤为明显——后者加载通话历史有时需要数秒。
技术实现
该项目采用 Kotlin 编写,遵循 GPL-3.0 许可证。对于 Android 开发者来说,源代码可以作为优秀的实践指南。
代码清晰地实现了与 Android 系统 API 的交互:
- 原生处理
TelecomManager并实现默认拨号器角色 - 与
ContactsContract交互以同步和显示电话簿 - 正确处理新版 Android 系统的权限请求
- 通过消除后台进程和网络请求来优化电池消耗
如果你计划编写自己的通话处理应用,或想了解如何正确地向操作系统请求特定权限,Fossify Phone 的代码库将提供现成的答案。
谁会发现这个项目有用
普通用户会发现这款应用是原生软件的可靠替代品,尤其适用于没有 Google 服务的自定义 ROM。它通过 F-Droid、Google Play 和 IzzyOnDroid 分发。
开发者会发现这个项目很有价值,因为它是一个高质量的简洁 Kotlin 应用示例,没有任何不必要的膨胀。这里没有臃肿的框架,与操作系统交互的逻辑完全透明。
你可以在 GitHub 上克隆仓库并探索源代码。
相关项目