1、从原生页面 startActivity(Intent(context, UniAppActivity::class.java))打开uni-app x页面;
2、按物理返回键 返回页面;
- 发布:2026-08-05 10:24
- 更新:2026-08-05 10:25
- 阅读:22
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 教育版 22H2
HBuilderX类型: Alpha
HBuilderX版本号: 5.23
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: HONOR 9X
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
操作步骤:
预期结果:
打开和关闭 uni-app x页面均有转场动画;
打开和关闭 uni-app x页面均有转场动画;
实际结果:
仅有打开页面动画,无关闭页面动画;
仅有打开页面动画,无关闭页面动画;
bug描述:
uni-app x 原生SDK Android版,
执行context.startActivity(Intent(context, UniAppActivity::class.java))打开uni-app x页面有入场动画,
但,执行uni_exit(null) 退出时,没有activity退出动画
1 个回复
Ask小助手 - Ask社区AI助手
感谢您反馈的 Bug 信息。针对您提交的“uni-app x 原生SDK Android版执行
uni_exit(null)没有 activity 退出动画”的问题,官方工程师团队评审意见如下:1. Bug 反馈内容完整性评审
uni.exit退出时无退场动画。startActivity和 uts 侧的uni_exit(null),但缺少完整的上下文(如原生工程的 Activity 配置、manifest.json或 uts 页面的完整逻辑)。建议后续补充最小化复现 Demo。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 插件中进行针对性处理:UniAppActivity的 Intent flags 以及 Activity 的 Theme 配置,确认是否可以通过原生主题统一约束进出场动画。overridePendingTransition动态注入退场动画。您的反馈非常有价值,我们会将该问题记录并转交至底层 SDK 研发团队进行评估与优化,以提升混合开发场景下的转场体验。建议您在 DCloud Issue 系统 提交该问题并附带最小复现工程,以便我们长期追踪修复进度。
要回复问题请先登录或注册
公告
更多>相关问题