WidgetEnhancer

为 Xiaomi MIX Flip 外屏提供自定义小部件能力的 LSPosed 模块

Release License Source LSPosed

WidgetEnhancer 将自定义小部件直接接入 HyperOS 原生外屏小部件系统。创建后的小部件会出现在系统的「外屏 → 小部件 → 自定义」中,可以像官方小部件一样添加、删除、排序和使用。

Important

本模块面向 Xiaomi MIX Flip,需要 Root、LSPosed 和 HyperOS 外屏桌面 com.miui.fliphome。

功能

媒体小部件

在外屏展示图片或循环视频。

  • 支持图片和视频
  • 支持裁剪、缩放和位置调整
  • 按照外屏比例生成预览
  • 视频支持循环播放

音乐小部件

显示当前正在播放的音乐,并提供歌词和媒体控制。

  • 歌曲名称、歌手、专辑封面与播放状态
  • MediaSession 媒体控制
  • SuperLyric 同步歌词支持,可覆盖更多音乐客户端
  • 在线歌词搜索兼容模式:根据 MediaSession 的歌名、歌手和时长匹配整首歌词,不安装 SuperLyric 也可使用
  • 外屏显示上一句、当前句和下一句歌词
  • 网易云音乐保留原有 Hook fallback

SuperLyric 可用时优先使用其歌词;兼容模式作为在线搜索兜底。只要音乐客户端能够正常向 Android MediaSession 暴露歌曲信息,理论上都可以尝试使用歌词功能,因此不再局限于单一音乐客户端。

操作 功能
单击 播放 / 暂停
双击上半区域 上一首
双击下半区域 下一首
长按上半区域 增加音量
长按下半区域 降低音量

快捷按钮小部件

可以创建包含 1~6 个按钮的快捷小部件,按钮数量会自动匹配对应布局。

支持绑定应用以及常用系统操作,包括:

  • 打开应用
  • 音量控制与静音
  • 手电筒
  • 勿扰模式
  • 自动旋转
  • 锁屏
  • 播放 / 暂停
  • 上一首 / 下一首
  • 部分快捷设置功能

通知小部件

在外屏同步显示最近的 3 条通知,每条显示应用图标、标题和内容。

操作 功能
单击通知 跳转对应应用
左滑通知 删除该通知

需要授予通知使用权,该权限也用于媒体会话读取。

应用小部件

提供一整页 2 × 3 网格,可以自由摆放手机应用提供的 Android AppWidget。

  • 支持 1×1、2×1、1×2、2×2、1×3、2×3 槽位
  • 支持按住拖动调整位置
  • 点按槽位可调整尺寸、圆角或删除
  • 支持小部件自身点击和滚动交互
  • 首次使用时按系统提示完成 AppWidget 授权
  • 支持直接打开系统桌面小部件面板,选择后直接加入当前外屏布局

ZIP / MAML 小部件

支持导入外部 .zip / .mtz MAML 小部件包,例如从主题商店提取的 2×3 小部件。

  • 可作为系统原生 MAML 小部件导入
  • 也可加入 2 × 3 应用小部件页面进行混合布局
  • 由 FlipHome 原生 MAML 宿主渲染
  • 支持读取系统桌面已经缓存的 MAML 小部件,并通过预览图直接导入

小部件管理

模块自带配置应用,可以直接管理外屏小部件:

  • 创建、编辑和删除
  • 重命名
  • 启用 / 禁用
  • 实时预览
  • 导入小部件

创建完成后,进入:

设置 → 外屏 → 小部件 → 自定义

即可将其添加到外屏。

实现原理

WidgetEnhancer 基于 LSPosed / Xposed Hook 实现,主要作用于 Xiaomi MIX Flip 的外屏桌面进程:

com.miui.fliphome

模块将自定义小部件信息注入 HyperOS 原有的小部件列表,并复用系统已有的小部件管理和页面机制。

flowchart TD
    A[WidgetEnhancer 配置应用] --> B[小部件配置与媒体数据]
    B --> C[LSPosed Hook]
    C --> D[com.miui.fliphome]
    D --> E[HyperOS 原生小部件列表]
    E --> F[添加 / 删除 / 排序 / 持久化]
    F --> G[外屏自定义小部件]
Loading

因此,小部件的添加、删除、排序、页面管理和持久化会尽可能继续使用 HyperOS 原有逻辑,模块主要负责自定义小部件的数据、配置与显示内容。

兼容性

当前主要适配 Xiaomi MIX Flip(ruyi)+ HyperOS。

由于不同 HyperOS 版本的内部实现可能存在差异,系统 OTA 后可能需要更新模块才能继续正常使用。

LSPosed 作用域

必选

com.miui.fliphome

这是模块的主要 Hook 目标。

AppWidget 免授权绑定

android

用于在系统服务中仅为 com.miui.fliphome 放行 AppWidget 绑定权限,从而避免添加应用小部件时重复弹出系统授权确认。使用该功能时需要在 LSPosed 中勾选 android 作用域。

可选:导入系统桌面缓存小部件

com.miui.home

用于读取系统桌面已经缓存的 MAML 小部件,并在 WidgetEnhancer 中提供预览和导入。

可选:系统桌面小部件面板

com.miui.personalassistant

用于直接打开 HyperOS 系统桌面的小部件选择面板,并把选中的 AppWidget / MAML 小部件回传到 WidgetEnhancer。

可选:网易云音乐

com.netease.cloudmusic

保留网易云音乐歌词 Hook fallback。通用歌词推荐使用 SuperLyric,或直接开启 WidgetEnhancer 内置的在线歌词兼容模式。

可选:SystemUI

com.android.systemui

用于部分高级快捷设置功能。不使用相关功能时无需勾选。

安装

  1. 从 Releases 下载并安装 APK。
  2. 在 LSPosed 中启用 WidgetEnhancer。
  3. 至少勾选 com.miui.fliphome 作用域;需要导入系统桌面缓存时勾选 com.miui.home,需要直接调用系统桌面小部件面板时勾选 com.miui.personalassistant,需要 AppWidget 免授权绑定时同时勾选 android。
  4. 根据需要勾选网易云音乐或 SystemUI;需要高质量通用同步歌词时可安装 SuperLyric,也可以直接使用内置在线歌词兼容模式。
  5. 重启手机。
  6. 打开 WidgetEnhancer 创建小部件。
  7. 进入「设置 → 外屏 → 小部件 → 自定义」添加小部件。

权限

部分功能需要额外系统权限:

权限 用途
通知使用权 获取媒体播放状态、音乐信息和最近通知
相机权限 控制手电筒
勿扰模式访问权限 控制勿扰模式
修改系统设置 控制自动旋转等系统功能
AppWidget 系统授权 未启用 android 作用域时,首次添加第三方应用小部件需完成系统绑定授权

不使用对应功能时无需授予相关权限。

签名与升级

从 0.8.3 开始,官方 Release 使用永久固定签名,后续版本会保持同一证书,可直接覆盖升级。

正式签名证书 SHA-256:

996d10e602eb6e0a1cd8a3853128d6ce4d4e456078d93eb2ce27e655d9f89215

Important

0.8.2 及更早版本由临时 CI Debug Key 签名,与 0.8.3 起的正式签名不同。因此从旧版升级到 0.8.3 时,需要最后一次卸载旧版后重新安装;从 0.8.3 开始后续版本可正常覆盖升级。

构建

git clone https://github.com/luckylca/WidgetEnhancer.git
cd WidgetEnhancer
./gradlew assembleRelease

构建产物位于:

app/build/outputs/apk/release/

开源协议

WidgetEnhancer 使用 GNU General Public License v3.0(GPL-3.0) 开源。

你可以在 GPL-3.0 条款下使用、修改和分发本项目。分发修改版本时,需要遵守 GPL-3.0 对源代码公开及许可证保留等要求。

完整协议请参阅 LICENSE。

Releases

0.9.0

Stable

10/4/2026, 3:20:48 AM

  • 加入 SuperLyric 支持,可从更多音乐客户端获取同步歌词、翻译等信息
  • 加入在线歌词搜索兼容模式:基于 MediaSession 的歌名、歌手和时长搜索整首歌词,理论上支持所有能正常提供 MediaSession 信息的音乐客户端
  • 修复手机重启后自定义小部件需要再次进入小部件设置页面才能刷新的问题,首次解锁后会自动恢复注入
  • 支持导入系统桌面已经缓存的 MAML 小部件,并提供预览选择
  • 支持直接从系统桌面小部件面板选择并添加桌面小部件

延续 0.8.3 起的固定 Release 签名,可直接覆盖升级。

Assets

1

0.8.4

Stable

9/19/2026, 1:27:30 PM

  • 修复导入 MAML 小部件时的尺寸限制
  • 不再强制要求 widget_2x3,自动识别包内 widget_AxB 实际尺寸
  • 支持导入尺寸超出 2×3 外屏网格的 MAML 包,并在槽位内缩放显示

延续 0.8.3 起的固定 Release 签名,可直接覆盖升级。

Assets

1

0.8.3

Stable

9/19/2026, 12:40:24 PM

  • 启用永久固定 Release 签名,修复版本间签名不一致的问题
  • 保持 0.8.2 的免授权小部件绑定与通知跳转优化

重要升级说明

0.8.2 及更早版本使用了临时 CI Debug 签名,升级到 0.8.3 时需要最后一次卸载旧版后重新安装。
从 0.8.3 开始,后续版本保持同一正式签名,可正常覆盖升级。

正式签名证书 SHA-256:
996d10e602eb6e0a1cd8a3853128d6ce4d4e456078d93eb2ce27e655d9f89215

Assets

1

0.8.2

Stable

9/19/2026, 9:42:05 AM

  • 新增免授权小部件绑定
  • 优化通知跳转

使用免授权小部件绑定时,请在 LSPosed 中同时勾选 android 作用域。

Assets

1

0.8.0

Stable

9/16/2026, 3:01:06 AM

WidgetEnhancer 0.8.0

为 Xiaomi MIX Flip 外屏提供自定义小部件能力的 LSPosed 模块。

主要更新

  • 新增通知小部件:显示最近 3 条通知,支持点击打开与左滑删除
  • 新增应用小部件页面:2 × 3 网格自由摆放 Android AppWidget
  • 支持 1×1、2×1、1×2、2×2、1×3、2×3 槽位与拖动布局
  • 新增 ZIP / MTZ MAML 小部件导入,可使用 FlipHome 原生宿主渲染
  • 支持 AppWidget 与 MAML 小部件混合布局、尺寸调整和圆角控制
  • 音乐歌词大小支持 70%~160% 调节
  • 保留媒体、音乐、快捷按钮、网易云歌词与 SystemUI 快捷设置能力

LSPosed 作用域

必选:com.miui.fliphome

可选:

  • com.netease.cloudmusic
  • com.android.systemui

安装后请在 LSPosed 中启用模块并重启设备。

Assets

1

0.7.1-p1

Stable

8/26/2026, 2:21:03 PM

WidgetEnhancer 0.7.1-p1

为 Xiaomi MIX Flip 外屏提供自定义小部件能力的 LSPosed 模块。

主要功能

  • 媒体小部件:支持图片与循环视频展示
  • 音乐小部件:支持歌曲信息、同步歌词与媒体手势控制
  • 快捷按钮小部件:支持 1~6 个按钮及多种系统操作
  • 自定义小部件接入 HyperOS 原生外屏小部件管理流程
  • 支持小部件创建、编辑、删除、预览与导入
  • 支持网易云音乐歌词适配与可选 SystemUI 快捷设置能力

LSPosed 作用域

必选:com.miui.fliphome

可选:

  • com.netease.cloudmusic
  • com.android.systemui

安装后请在 LSPosed 中启用模块并重启设备。

Assets

1