zoukankan      html  css  js  c++  java
  • deeplink跳转快应用返回出现两次系统添加桌面的弹框

    现象描述
    从应用市场打开快应用,点击返回时,系统添加桌面图标只出现一次弹窗。但是使用deeplink打开跳转页面,点击返回时,系统添加桌面图标会出现一次弹窗后再闪一次。

    问题分析
    现网正常通过Deeplink、网页跳转方式进入快应用时,使用系统创建桌面图标时,出现一次弹框,不会再闪一次。对Deeplink跳转的页面代码进行分析,发现页面代码里对onBackPress(监听返回按钮动作)函数进行了重写处理。
    image

    其中this.entryDirect为Deeplink跳转时携带的参数。

    onBackPress是用户点击返回按钮时触发的,当返回true表示页面按应用自己的返回逻辑处理,返回false表示按默认的返回逻辑处理,不返回值则和返回false一样,按默认的返回逻辑处理。

    在这段代码中,开发者在onBackPress中判断为Deeplink进入快应用时,调用this.app.exit()退出应用,此时会触发finish事件,而开发者没有在onBackPress返回true,所以按默认的返回逻辑处理,也触发了finish事件。快应用中心在监听到finish事件后,就会弹框引导用户创建图标,从而导致出现两次弹框。

    解决方法
    对界面onBackPress函数代码进行修改,调用this.app.exit()退出应用后,不再使用默认按钮返回逻辑。

    image

    建议与总结
    当页面需要使用onBackPress(监听返回按钮动作)函数处理自己逻辑时,需要在函数最后返回true,否则处理完onBackPress代码后默认会走系统返回逻辑,容易导致异常。

    原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0204422876080970622?fid=18
    原作者:Mayism

  • 相关阅读:
    linux下svn命令大全
    php常用函数
    在centos上设置计划任务
    sphinx使用心得
    sphinx2.8.8的配置文件
    Mac使用
    sftp
    uwp应用在debug模式下运行正常,编译为release版本的时候抛出异常
    win10 uwp 读取resw资源文件
    dll被设置为用记事本打开的解决方法
  • 原文地址:https://www.cnblogs.com/developer-huawei/p/14684027.html
Copyright © 2011-2022 走看看