Skip to content

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Motion Photo Manager

一款在 Android 设备上批量管理动态照片(Motion Photo)的本地工具。它可以从动态照片中提取静态图片或内嵌视频,也可以将二者分别导出,整个处理过程在本地进行。

功能

  • 自动扫描相册中的动态照片,并按拍摄日期分组展示
  • 单选、多选或按日期批量选择照片
  • 预览静态图片和内嵌视频,支持缩放、滑动切换、循环播放和静音
  • 提供三种处理方式:
    • 保留照片:导出移除动态信息后的 JPEG 图片
    • 保留视频:导出动态照片内嵌的 MP4 视频
    • 照片 + 视频:分别导出 JPEG 图片和 MP4 视频
  • 可选择保留原始动态照片,或在导出成功后将原文件移入系统回收站
  • 显示处理进度、文件大小和预计节省空间
  • 支持简体中文和英文界面

使用方法

  1. 首次启动时授予照片访问权限。
  2. 在照片网格中选择要处理的动态照片;点击照片可进入预览。
  3. 选择“保留照片”“保留视频”或“照片 + 视频”。
  4. 根据需要决定是否删除原图,然后确认处理。
  5. 导出的文件会保存到原文件所在目录;若无法获取原目录,则保存到 DCIM/Camera

若选择删除原图,Android 会显示系统确认窗口。小米设备使用系统删除确认,其他设备优先移入系统回收站。

文件命名

处理结果 文件名示例
静态图片 STILL_IMG_20260101_120000.jpg
内嵌视频 VIDEO_IMG_20260101_120000.mp4

兼容性

  • Android 10(API 29)及以上
  • 当前仅构建 arm64-v8a 架构
  • 识别 JPEG 容器中的动态照片,当前扫描的文件名模式包括 MVIMG_*PXL_**_MP.jpg
  • 支持通过 GCamera:MicroVideoOffset 或 Motion Photo XMP 中的视频长度信息定位内嵌视频

不同厂商可能使用不同的动态照片格式或文件名规则,因此部分设备生成的动态照片可能暂时无法识别。建议先用少量文件测试,并在确认导出结果正常后再批量处理或删除原图。

从源码构建

使用最新版 Android Studio 打开项目,等待 Gradle 同步完成后构建并安装 app 模块即可。

项目主要使用:

  • Kotlin
  • Jetpack Compose + Material 3
  • Android MediaStore
  • Coil

隐私说明

所有扫描、预览和文件拆分均在设备本地完成。应用未声明网络权限,不会将照片上传到服务器。

反馈

如遇到无法识别的动态照片、导出异常或设备兼容问题,请提交 Issue,并附上设备型号、Android 版本、照片来源及复现步骤。请勿上传包含隐私信息的原始照片。

About

Android 动态照片批量管理工具

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages