You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么PublicActivity可正常启动,其子类启动后onResume立刻回调onPause?

问题根因及排查方向
  • Manifest配置不一致
    依赖库中内置的PublicActivity在库的AndroidManifest.xml中配置了特殊属性,你自定义的PublicActivity2使用主项目默认配置未对齐:

    常见的冲突属性包括android:theme(如果主题包含windowNoDisplay=true/windowIsTranslucent=true会导致页面不会停留在前台)、android:launchMode、android:taskAffinity,配置不匹配会导致新Activity启动后被系统自动调度到后台,触发onPause回调。
    验证方案:将库中PublicActivity的所有Manifest声明属性完全复制到主项目PublicActivity2的声明节点中,再重新测试启动逻辑。

  • ActivityUtils内置白名单拦截
    你调用的ActivityUtils.showActivity()内部大概率存在类名校验逻辑,仅允许跳转库内置的Activity类,检测到跳转目标是主项目自定义的PublicActivity2时,会在启动后主动调用finish()关闭页面,所以刚走完onResume就触发onPause。
    验证方案:反编译ActivityUtils的实现代码,检查showActivity方法内是否有对传入的Class类名、包名做匹配过滤的逻辑,或者是否有延迟关闭页面的任务逻辑。

  • 全局生命周期监听拦截
    项目中大概率注册了Application.ActivityLifecycleCallbacks全局生命周期回调,里面配置了页面白名单规则,仅允许指定列表内的Activity启动,库中PublicActivity在白名单内,你新增的PublicActivity2不在规则内,所以启动后会被监听逻辑主动关闭。
    验证方案:搜索项目中所有ActivityLifecycleCallbacks的实现,检查onActivityResumed回调中是否有判断类名后关闭页面的逻辑。


内容的提问来源于stack exchange,提问作者Alexey Simchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:06:05