打开我们的app,第一次会启动代理,这时候,息屏、打开摄像头、或者打开任务栏切换app,类似遮盖住app,再次进入app,代理就会启动第二次。
打开我们的app,返回到桌面,再点击桌面的app图标进入到app中,就不会启动第二次代理初始化,经过这个操作之后,app无论怎么操作,都不会再进行代理初始化操作了。
- 发布:2024-05-13 10:26
- 更新:2024-05-13 10:26
- 阅读:88
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 22H2
HBuilderX类型: 正式
HBuilderX版本号: 3.6.18
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: 华为
手机机型: sunmi l2s
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
操作步骤:
预期结果:
当息屏或者打开摄像头等一系列遮盖住app的操作之后,再进入到我们的app中,代理方法不会执行第二次初始化
当息屏或者打开摄像头等一系列遮盖住app的操作之后,再进入到我们的app中,代理方法不会执行第二次初始化
实际结果:
无
无
bug描述:
我们开发的一款uniapp离线打包,套壳app程序因为需要访问内部数据库,所以用了一个代理平台(移动安全门户(简称:emm),代理平台的对接只能使用安卓源生来对接。
现在产生问题,切换到任务栏,或者遮盖住了app,再进入到app中,写在app初始化中的代理初始化操作会启动两次。就造成了断网的问题。如果手机操作直接上划到桌面再点击桌面的app进入到app中,就不会再次启动代理初始化了。
我们用安卓源生写了一个简易的测试程序对接了代理sdk不会产生问题(再次进入app不会执行安卓源生中写的代理初始化的方法)
我们用hbuilderX创建了一个uniapp,简易写了一个请求方法,再次离线打包,放进我们新创建的安卓原生项目再次对接了sdk,就出现了问题了。
问题出现在:安卓源生的初始化声明周期中所有的方法都只会执行一次,代理的初始化那段代码也只会执行一次,我们的uniapp集成进去之后,安卓源生的方法只会在第一次启动app的时候执行一次,切换app不会执行第二次,但是 代理的初始化方法会执行第二次。
详情看代码中的“第一次启动代理”只会执行一次,但是下面的初始化方法会执行两次。