在微信环境内通过应用宝链接打开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
中,应用的生命周期方法(如onLaunch
、onShow
)可能会在某些情况下被多次触发。确保这些方法中没有阻塞性的操作,否则可能会导致应用卡在启动页。 - 你可以通过在
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. 检查页面路由
- 如果应用卡在启动页,可能是因为页面路由没有正确跳转。确保在
onLaunch
或onShow
方法中正确设置了页面跳转逻辑。 - 例如:
export default {
onLaunch() {
uni.navigateTo({
url: '/pages/index/index',
});
},
};
5. 处理应用宝链接的参数
- 应用宝链接可能会携带一些参数,确保你的应用能够正确处理这些参数。如果参数处理不当,可能会导致应用卡在启动页。
- 你可以在
onLaunch
或onShow
方法中获取并处理这些参数。
export default {
onLaunch(options) {
console.log('App launched with options:', options);
if (options.query) {
// 处理应用宝链接携带的参数
}
},
};