Warning
此项目包含部分AI生成(已经过人类审查)和人类编写修正的内容。
此项目目前仅支持简体中文 Simplified Chinese。
本应用提供两个版本:
- FOSS 版本:完全开源,不含闭源 SDK,无网络权限,提供最极致的隐私保障。
- Full 版本:包含 Google ML Kit 增强解析引擎,支持更强大的实体提取。
尽管此应用申请了设备和通知访问权限,但是该程序本体未使用网络访问权限(FOSS 版本完全不申请网络权限),您的数据不会被存储,也不会传出设备。
(注:Full 版本中的 ML Kit SDK 可能会使用网络权限进行诊断数据上报,详情见隐私政策)
需要 Android 6.0 或更高版本。
查看此应用的 隐私政策 。
详细信息
top.stevezmt.calsync
minSDK: 23 tarSDK: 36
- android.permission.READ_CALENDAR
读取日历活动和详情
必需的权限,它用于添加到特定日历和链接到日历事件的通知提示。 - android.permission.WRITE_CALENDAR
添加或修改日历活动
必需的权限,它用于添加到特定日历和链接到日历事件的通知提示。 - android.permission.FOREGROUND_SERVICE
允许在前台运行服务
必需的权限,它用于在后台持续监听通知。若拒绝此权限,应用将无法持续运作。 - android.permission.FOREGROUND_SERVICE_SPECIAL_USE 允许在前台运行特殊用途服务(用于通知监听和保活)
- android.permission.POST_NOTIFICATIONS
允许发送通知
可选的权限,拒绝将导致您无法知晓哪些日历被更改或程序崩溃,也无法从通知中删除或编辑创建的日历。 - android.permission.SCHEDULE_EXACT_ALARM 允许设置精确闹钟(用于崩溃后的通知提醒)
- android.permission.QUERY_ALL_PACKAGES
允许查询所有已安装的应用包
可选的权限,允许用户选取要检查通知的应用。若拒绝此权限,用户只能选择预设的应用包,或选择匹配所有通知来源。 - android.permission.BIND_NOTIFICATION_LISTENER_SERVICE 允许应用读取所有通知(核心功能)
- android.permission.INTERNET / ACCESS_NETWORK_STATE
网络访问权限(仅限 Full 版本)
由 ML Kit SDK 引入,用于模型管理和匿名诊断上报。程序本体不使用。
- FOSS 版本:未引入任何闭源三方库。
- Full 版本:引入了 Google ML Kit (Entity Extraction) 用于增强解析。
- 通用(源码集成/离线):集成并修改了 TimeNLP, xk-time, Jieba 等开源组件的逻辑。
将该应用安装到您的设备,按照提示授予 日历(需完全访问权限)和通知权限后,前往设置授予设备和通知权限(通知访问权),当通知栏看到正在监听后台通知常驻提示时,程序即已在后台运行。
默认配置下会匹配通知中包含通知``班级群字样的所有来源的通知。
依赖:
- JDK 21
- Gradle 8.10+
- Android SDK(API 21+)
git clone https://github.com/yourusername/calsync.git
cd calsync# 构建 FOSS 版本
./gradlew assembleFossRelease
# 构建 Full 版本 (含 ML Kit)
./gradlew assembleFullRelease
# 或者构建所有变体
./gradlew assembleRelease
# 仅构建调试版本
./gradlew build# 运行 FOSS 变体测试
./gradlew :app:testFossDebugUnitTest
# 运行 Full 变体测试
./gradlew :app:testFullDebugUnitTesthttps://github.com/NagiYan/TimeNLP
https://github.com/xkzhangsan/xk-time
https://github.com/huaban/jieba-analysis
https://developers.google.cn/ml-kit?hl=zh-cn
GPL-3.0 License. 详情见 LICENSE 文件。
Copyright (C) 2025 Steve ZMT me@stevezmt.top
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://gnu.ac.cn/licenses/>.
