Skip to content

Repository files navigation

EdgeGesture

一款基于 Android 无障碍服务的边缘手势应用,是系统手势的替代方案之一,并提供更多相关服务。

📱 UI 设计预览

点击体验

边缘手势

  • 左侧边缘手势:支持 6 种滑动手势(短滑/长滑 × 右/上/下方向),最多支持 3 段分区
  • 右侧边缘手势:支持 6 种滑动手势(短滑/长滑 × 左/上/下方向),最多支持 3 段分区
  • 底部边缘手势:支持 6 种滑动手势(短滑/长滑 × 左/右/上方向),最多支持 3 段分区
  • 自定义触发区域:可调整边缘宽度、高度百分比、位置百分比和分段数量,实时预览效果
  • 手势反馈:支持震动反馈
  • 手势预览:主页面实时预览各边缘触发区域位置与大小
  • 手势统计:记录手势触发和启动拦截次数,支持 1 日/7 日/30 日统计周期

背面双击

  • 双击检测:通过加速度计传感器检测手机背面双击动作,基于启发式信号处理算法
  • 灵敏度调节:可调整检测灵敏度(1-10),控制敲击识别的噪声容忍阈值
  • 检测范围调节:可调整检测范围(1-10),控制峰值检测窗口和双击时间间隔
  • 工作模式:始终激活、熄屏激活、亮屏激活三种模式
  • 充电暂停:充电时自动暂停背面双击检测,避免误触
  • 操作自定义:背面双击支持与边缘手势相同的所有操作

快捷操作

  • 返回上一级:模拟系统返回键
  • 返回桌面:返回系统桌面
  • 最近任务:打开最近任务列表
  • 上一个应用:快速切换到最近使用的应用
  • 上一曲/下一曲:控制媒体播放
  • 手电筒:开关闪光灯
  • 语音助手:启动系统语音助手
  • 电源菜单:显示电源选项
  • 锁屏:锁定屏幕
  • 截屏:截取屏幕
  • 扩展面板:显示快捷设置面板(亮度/音量调节 + 8 个应用快捷方式,支持小窗启动)
  • 扫一扫:快捷启动支付宝/微信扫一扫
  • 延时提醒:1 分钟/3 分钟/5 分钟/10 分钟/15 分钟延时提醒
  • 无操作

扩展面板

  • 系统控制:亮度调节 + 音量调节滑块
  • 应用快捷方式:支持 8 个常用应用快捷方式,点击快速启动
  • 小窗启动:每个快捷方式可单独设置是否以小窗(自由窗口)模式启动
  • 图标缓存:扫描应用时自动缓存图标以提升加载性能

应用黑名单

  • 应用切换过滤:过滤上一个应用切换时不需要显示的应用
  • 自动初始化:首次启动自动将系统应用加入黑名单
  • 权限感知:授予"查询所有应用"权限后可包含全部系统应用;无权限时通过 PackageManager <queries> 兜底
  • 安装/卸载监听:实时监听应用变更并自动更新黑名单

启动拦截

  • 拦截规则:基于无障碍服务 + Shizuku 权限拦截指定应用的启动行为,可配置启动者与被拦截目标应用
  • 拦截模式:支持立即/稍缓/延迟三种拦截时机
  • 终止启动者:每次触发规则时直接终止启动者进程(带防呆保护:连续最多终止 5 次后冷却 15 秒,需 Shizuku)
  • 终止被启动者:拦截后可选终止被启动应用进程(需 Shizuku)
  • 系统应用保护:可选择是否允许终止系统应用(需 Shizuku)

应用设置

  • 主题切换:浅色/深色/跟随系统
  • 语言切换:简体中文/English/跟随系统(通过 LocaleManager API 实现,无需重启应用)
  • 自适应布局:宽屏设备自动切换双列布局
  • 隐藏显示:隐藏手势触发区域
  • 隐藏后台:在最近任务列表中隐藏本应用
  • 避免遮挡:输入法弹出时自动禁用手势触发区
  • 震动反馈:滑动操作时触发震动效果

权限管理

  • 智能引导:各权限以独立卡片展示,授予后自动隐藏
  • 无障碍权限:点击直接跳转系统设置页
  • 悬浮窗权限:一键跳转授予
  • 通知权限:系统对话框申请
  • 电池优化:忽略电池优化保持后台存活
  • 使用情况统计:用于应用切换功能
  • 查询所有应用:用于完整扫描应用列表
  • 权限监控:跳转系统设置后自动检测授权状态,授权后自动返回应用

技术栈

类别 技术
语言 Kotlin 2.4.10
UI 框架 Jetpack Compose (BOM 2026.06.01) + Material3
自适应布局 Material3 Adaptive 1.2.0
依赖注入 Koin 4.2.2
导航框架 Navigation Compose 2.9.8 (type-safe routes)
状态管理 DataStore + StateFlow + MutableStateFlow
后台任务 WorkManager 2.11.2
权限框架 Shizuku 13.1.5 + 自定义 UserService
序列化 Kotlin Serialization 1.11.0
Hidden API 绕过 hidden-api-bypass 6.1
图标库 Material Symbols (composables-icons 2.2.1)
构建工具 AGP 9.2.1, refreshVersions 0.60.6
许可证 AGPL-3.0

运行环境

属性
applicationId com.edgegesture.evilgodxu
versionName 3.1.0
versionCode 14
compileSdk 37 (Android 15 VanillaIceCream)
minSdk 33 (Android 13)
targetSdk 37
NDK arm64-v8a
Java 21

签名配置

local.properties 文件中配置签名信息:

KEYSTORE_PASSWORD=your_keystore_password
KEY_ALIAS=your_key_alias
KEY_PASSWORD=your_key_password

使用说明

  1. 首次启动:按权限引导页依次授予无障碍服务权限、悬浮窗权限等必要权限
  2. 手势设置:进入手势设置页,点击启动按钮开启手势服务
  3. 配置手势操作:点击左/右/底部边缘卡片进入详细配置,为各边缘和分段设置快捷操作
  4. 调整触发区域:在边缘配置页调整宽度、高度、位置和分段数量,实时预览效果
  5. 背面双击:在手势设置页点击"背面双击"卡片进入配置页,启用后可调灵敏度、检测范围和工作模式
  6. 扩展面板:配置 8 个常用应用快捷方式,可选择是否以小窗模式启动
  7. 应用黑名单:过滤上一个应用切换时不需要的应用
  8. 启动拦截:安装并启动 Shizuku 后配置拦截规则(Shizuku 仅用于进程终止,可选,不影响拦截机制)

Made with ❤️ by Evilgodxu

About

Edge Gestures – Alternatives to Android System Gestures

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages