在微信环境内通过应用宝链接打开uni-app(后台已经打开的app),页面卡死在启动页

在微信环境内通过应用宝链接打开uni-app(后台已经打开的app),页面卡死在启动页

操作步骤:

  • app打开在后台,在微信环境打开应用宝页面跳转app,app卡死

预期结果:

  • 不卡死

实际结果:

  • 卡死

bug描述:

  • 在微信环境内通过应用宝链接打开APP,页面卡死在启动页(应用在后台运行状态下会卡死,应用没有在后台运行是能够正常打开的)。
  • 测试发现应用宝链接唤起APP,每次都回开个窗口。就卡死在启动页了。
信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC操作系统版本 win10
HBuilderX类型 正式
HBuilderX版本 3.7.9
手机系统 Android
手机系统版本 Android 12
手机厂商 华为
手机机型 mate40pro
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

更多关于在微信环境内通过应用宝链接打开uni-app(后台已经打开的app),页面卡死在启动页的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

这里跳转

更多关于在微信环境内通过应用宝链接打开uni-app(后台已经打开的app),页面卡死在启动页的实战教程也可以访问 https://www.itying.com/category-93-b0.html


论坛没人了吗

遇到了同样的问题,请问博主找到解决方法了吗。

还没解决。暂时只能引导本地浏览器打开,不要跳应用宝

回复 小七ing: 感谢回复

在微信环境中通过应用宝链接打开一个已经在后台运行的 uni-app 应用时,如果页面卡在启动页,可能是由于以下几个原因导致的。以下是一些可能的解决方案:

1. 检查微信和应用宝的兼容性

  • 微信和应用宝之间的跳转机制可能存在兼容性问题。确保你使用的是最新版本的微信和应用宝。
  • 如果问题依然存在,可以尝试在微信中直接打开应用宝链接,而不是通过应用宝跳转。

2. 检查 uni-app 的生命周期

  • uni-app 中,应用的生命周期方法(如 onLaunchonShow)可能会在某些情况下被多次触发。确保这些方法中没有阻塞性的操作,否则可能会导致应用卡在启动页。
  • 你可以通过在 onShow 方法中添加日志来检查应用是否正常进入。
export default {
  onShow() {
    console.log('App is shown');
  },
  onLaunch() {
    console.log('App is launched');
  },
};

3. 处理应用从后台唤醒的情况

  • 当应用从后台唤醒时,uni-app 可能会重新加载某些页面或重新初始化某些状态。确保你的应用能够正确处理这种情况。
  • 你可以通过在 onShow 方法中检查应用是否从后台唤醒,并做出相应的处理。
export default {
  onShow() {
    if (this.isAppActive) {
      console.log('App is resumed from background');
    } else {
      console.log('App is launched for the first time');
      this.isAppActive = true;
    }
  },
  data() {
    return {
      isAppActive: false,
    };
  },
};

4. 检查页面路由

  • 如果应用卡在启动页,可能是因为页面路由没有正确跳转。确保在 onLaunchonShow 方法中正确设置了页面跳转逻辑。
  • 例如:
export default {
  onLaunch() {
    uni.navigateTo({
      url: '/pages/index/index',
    });
  },
};

5. 处理应用宝链接的参数

  • 应用宝链接可能会携带一些参数,确保你的应用能够正确处理这些参数。如果参数处理不当,可能会导致应用卡在启动页。
  • 你可以在 onLaunchonShow 方法中获取并处理这些参数。
export default {
  onLaunch(options) {
    console.log('App launched with options:', options);
    if (options.query) {
      // 处理应用宝链接携带的参数
    }
  },
};
回到顶部