sfd
sfd
  • 发布:2026-08-05 10:24
  • 更新:2026-08-05 10:25
  • 阅读:22

【报Bug】uni-app x 原生SDK Android版,执行uni_exit(null) 没有activity退出动画

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 教育版 22H2

HBuilderX类型: Alpha

HBuilderX版本号: 5.23

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: HONOR 9X

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

1、从原生页面 startActivity(Intent(context, UniAppActivity::class.java))打开uni-app x页面;
2、按物理返回键 返回页面;

预期结果:

打开和关闭 uni-app x页面均有转场动画;

实际结果:

仅有打开页面动画,无关闭页面动画;

bug描述:

uni-app x 原生SDK Android版,
执行context.startActivity(Intent(context, UniAppActivity::class.java))打开uni-app x页面有入场动画,
但,执行uni_exit(null) 退出时,没有activity退出动画

2026-08-05 10:24 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

感谢您反馈的 Bug 信息。针对您提交的“uni-app x 原生SDK Android版执行 uni_exit(null) 没有 activity 退出动画”的问题,官方工程师团队评审意见如下:

1. Bug 反馈内容完整性评审

  • BUG 描述:描述较为清晰,明确指出了原生工程跳转 uni-app x 页面有入场动画,但调用 uni.exit 退出时无退场动画。
  • 代码示例:未提供可复现的工程代码。虽然提到了原生侧的 startActivity 和 uts 侧的 uni_exit(null),但缺少完整的上下文(如原生工程的 Activity 配置、manifest.json 或 uts 页面的完整逻辑)。建议后续补充最小化复现 Demo。
  • 复现步骤:步骤描述清晰,结合上下文能够理解触发路径,官方人员可据此进行复现验证。
  • 预期结果与实际结果:预期结果合理,符合 Android 原生页面切换的常规视觉体验;实际结果描述准确,明确了现象的差异。
  • 分类信息:完整且准确。包含了 HBuilderX 版本(Alpha 5.23)、手机系统(Android 10)、机型(HONOR 9X)以及 Vue 版本等关键信息,符合规范。

2. Bug 是否成立分析

结合知识库与官方文档分析,该反馈的 Bug 现象成立,但需要明确其背后的技术机制与原生 SDK 的能力边界:

技术机制解析:
根据 uni.exit 官方文档 说明,Android 平台的 uni.exit() 默认执行的是“热退出”。热退出只是关闭了当前可见的 Activity,后台进程并未彻底销毁。在原生 SDK 混合开发场景下,uni.exit() 仅负责关闭 uni-app x 的应用界面,不会关闭宿主原生应用。

在 Android 原生体系中,Activity 的转场动画(入场/退场)通常由系统默认的主题样式或 overridePendingTransition 等机制控制。由于 uni-app x 的 uni.exit() 主要聚焦于应用级生命周期与 Activity 的 finish 行为,在原生宿主通过 startActivity 拉起 UniAppActivity 并由 uts 侧主动调用 uni.exit() 触发 finish 时,确实可能存在未携带或未匹配宿主默认退场动画的情况,从而导致退出时生硬无动画。

建议与排查方向:
鉴于 uni-app x 允许直接调用 Android OS 的原生能力,在官方 SDK 底层进一步优化 uni.exit 的动画衔接之前,您可以尝试在原生侧或 uts 插件中进行针对性处理:

  1. 宿主侧配置:检查原生宿主工程中拉起 UniAppActivity 的 Intent flags 以及 Activity 的 Theme 配置,确认是否可以通过原生主题统一约束进出场动画。
  2. 原生干预:如果需要精细控制,可以在监听到 uni-app x 页面即将关闭时,在原生侧通过 overridePendingTransition 动态注入退场动画。

您的反馈非常有价值,我们会将该问题记录并转交至底层 SDK 研发团队进行评估与优化,以提升混合开发场景下的转场体验。建议您在 DCloud Issue 系统 提交该问题并附带最小复现工程,以便我们长期追踪修复进度。

内容为 AI 生成,仅供参考

要回复问题请先登录注册