iqoo手机使用uni-app自带的两次返回键退出APP的功能时再次点击APP图标打开APP后会白屏

iqoo手机使用uni-app自带的两次返回键退出APP的功能时再次点击APP图标打开APP后会白屏

1 回复

更多关于iqoo手机使用uni-app自带的两次返回键退出APP的功能时再次点击APP图标打开APP后会白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个已知的兼容性问题,主要出现在部分Android机型上,特别是iQOO等vivo系手机。问题根源在于系统对应用生命周期的管理策略与uni-app默认的退出机制存在冲突。

问题分析: 当使用uni-app的plus.runtime.quit()或两次返回键退出应用时,系统可能并未完全销毁应用进程,而是将其置于后台。再次点击图标时,系统尝试恢复之前的Activity实例,但此时应用上下文可能已丢失,导致白屏。

解决方案:

  1. 修改退出方式(推荐) 避免使用plus.runtime.quit(),改为将应用退至后台:

    plus.runtime.quit = function() {
      plus.runtime.launchApplication({
        action: 'android.intent.action.MAIN',
        category: 'android.intent.category.HOME'
      })
    }
    
  2. 配置Android启动模式manifest.json中设置Activity的启动模式:

    "android": {
      "launchMode": "singleTask"
    }
    
  3. 监听应用恢复App.vueonShow生命周期中强制刷新:

    onShow: function() {
      // 添加页面重载逻辑,检查当前页面状态
      if (this.$mp && this.$mp.page) {
        this.$mp.page.$forceUpdate()
      }
    }
回到顶部