Deeplink跳转快应用返回出现两次系统添加桌面的弹框,deeplink原理Deeplink jump fast应用返回系统两次添加桌面的弹出框。现象描述从应用市场打开快应用,点击返回,系统添加桌面图标的弹出窗口只出现一次。但是当你使用deeplink打开跳转页面点击返回时,系统增加了桌面图标,会弹出一次,然后再次闪......
现象描述
从应用市场打开快应用,点击返回,系统添加桌面图标的弹出窗口只出现一次。但是当你使用deeplink打开跳转页面点击返回时,系统增加了桌面图标,会弹出一次,然后再次闪烁。
问题分析
现在网络正常通过Deeplink和网页跳转进入快捷应用时,使用系统创建桌面图标时,弹出框出现一次,就不会再闪了。通过分析Deeplink跳转的页面代码,发现页面代码中重写了onBackPress函数。
其中this.entryDirect是跳转时Deeplink携带的参数。
当用户单击后退按钮时,OnBackPress被触发。当返回true时,页面按照自己的返回逻辑进行处理;返回false时,按照默认的返回逻辑进行处理;如果没有返回false,则根据默认的返回逻辑进行处理。
在这段代码中,开发者在onBackPress中判断Deeplink已经进入快应用时,调用this.app.exit()退出应用。此时会触发finish事件,但是开发人员在onBackPress中没有返回true,所以按照默认的返回逻辑处理,这也触发了finish事件。听完finish事件后,fast应用中心会弹出一个框,引导用户创建一个图标,导致两个弹出框
解决方法
修改onBackPress函数代码的接口,调用this.app.exit()退出应用程序,不再使用默认按钮返回逻辑。
建议和总结
当页面需要使用onBackPress函数处理自己的逻辑时,需要在函数结束时返回true。否则系统在处理onBackPress代码后会默认返回逻辑,容易导致异常。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部