>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Kotlin

如何使用 Fossify Phone 重新掌控 Android 通话功能

不知从何时起,智能手机上的标准拨号应用开始变得臃肿不堪。厂商定制系统中的内置广告、不断增长的权限请求,以及被发送到第三方服务器的数据——这对于许多 Android 用户来说再熟悉不过。当一个简单的"拨打电话"功能需要持续的网络连接时,你就开始寻找替代方案。

就这样,我偶然发现了 Fossify Phone 仓库。这是一个由 Fossify 社区开发者创建的轻量级开源通话应用。

Fossify Phone Logo

这个项目是什么?它从何而来?

这个项目的历史与著名的 Simple Mobile Tools 系列的一个分支密切相关。当原始应用套件被新所有者收购并开始积累可疑功能时,爱好者们保留了干净的代码库。这项努力的结果就是 Fossify 项目。

Fossify Phone 处理基本的通讯任务,但以完全透明的方式进行。该应用没有追踪器、广告,也不会贪婪地请求设备存储访问权限,除非是功能所必需的。

App screenshot App screenshot App screenshot

核心功能

该应用不追求重新发明轮子,而是专注于稳定性和速度。

  • 支持多 SIM 卡设备并可在卡间快速切换
  • 内置垃圾号码拦截器和灵活的黑名单
  • 无需第三方服务即可管理联系人和通话记录
  • 主题自定义,包括深色模式和强调色

界面响应迅速,即使在入门级设备上也能流畅运行。这在与标准厂商应用的对比中尤为明显——后者加载通话历史有时需要数秒。

技术实现

该项目采用 Kotlin 编写,遵循 GPL-3.0 许可证。对于 Android 开发者来说,源代码可以作为优秀的实践指南。

代码清晰地实现了与 Android 系统 API 的交互:

  • 原生处理 TelecomManager 并实现默认拨号器角色
  • ContactsContract 交互以同步和显示电话簿
  • 正确处理新版 Android 系统的权限请求
  • 通过消除后台进程和网络请求来优化电池消耗

如果你计划编写自己的通话处理应用,或想了解如何正确地向操作系统请求特定权限,Fossify Phone 的代码库将提供现成的答案。

谁会发现这个项目有用

普通用户会发现这款应用是原生软件的可靠替代品,尤其适用于没有 Google 服务的自定义 ROM。它通过 F-Droid、Google Play 和 IzzyOnDroid 分发。

开发者会发现这个项目很有价值,因为它是一个高质量的简洁 Kotlin 应用示例,没有任何不必要的膨胀。这里没有臃肿的框架,与操作系统交互的逻辑完全透明。

你可以在 GitHub 上克隆仓库并探索源代码。

相关项目