问题现象:在快应用已经打开A页面的情况下,此时若从卡片(或其他媒介)跳转至快应用指定页面B,点击左上角返回键,退出页面顺序是B-A-卡片,无法一键直接返回卡片(或其他媒介)。

需要实现的场景:在快应用已经打开A页面的情况下,从卡片(或其他媒介)跳转至快应用指定页面B,点击左上角返回键能够一键退出快应用,直接返回卡片(或其他媒介)。

问题分析

上述的问题现象是由于页面采用了默认的启动模式standard,"standard"模式时会每次打开新的目标页面(多次打开目标页面地址时会存在多个相同页面),导致页面栈中会依次缓存页面A,B,退出时页面会依次出栈,无法一键返回。这里建议用户从卡片跳转至快应用时,使用动态声明的方式指定页面B的启动模式为clearTask即可解决。指定clearTask时,会直接清除原先的页面A,打开页面B,如此页面栈中只有页面B存在,返回时即可直接退出快应用。

解决方法

卡片跳转快应用示例代码(采用deeplink链接):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <title>快应用测试</title>

</head>

<body>

  <a href="hwfastapp://com.huawei.hello1/Test?___PARAM_LAUNCH_FLAG___=clearTask">使用hwfastapp打开</a>

  <br>

  <br>

  <a href="hap://app/com.huawei.hello1/Test?___PARAM_LAUNCH_FLAG___=clearTask">使用hap打开</a>

</body>

</html>

卡片跳转的快应用目标页面(根据当前页面栈的数量可以发现始终只有一个页面):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

<template>

  <div class="container">

    <text>___PARAM_LAUNCH_FLAG___=</text>

    <text>{{taskflag}}</text>

    <text>当前页面栈的数量</text>

    <text>{{length}}</text>

  </div>

</template>

 

<style>

  .container {

    flex-direction: column;

    align-content: center;

    align-items: center;

    justify-content: center;

  }

 

  text {

    margin-bottom: 50px;

  }

</style>

 

<script>

import router from '@system.router';

  export default {

    data: {

      // The default is the local app internal image

      photoUri: '/Common/logo.png',

      taskflag:'',

      PARAM_LAUNCH_FLAG:'',

      length:''

    },

 

    onInit() {

      this.$page.setTitleBar({ text: 'deepLink' })

      var that=this;

      that.taskflag=this.PARAM_LAUNCH_FLAG;

      // 调用getPages方法

      let pages = router.getPages()

      // 由于获得的值是一个JSON数组,所以直接打印是打印不出来的,可以使用下面的方法来打印

      console.log("tag", this.printJSONArray(router.getPages()));

      that.length= router.getLength();

      console.log("pages' length = "+that.length);

    },

 

    printJSONArray(array) {

      let result = ""

      const suffix = ", "

      Array.isArray(array) && array.forEach((element, index) => {

        result = result + JSON.stringify(element) + (index === array.length-1 ? "" : ", ")

        })

      return result

    }

  }

</script>

建议与总结

1. 页面启动模式有两种配置方式,一种是在manifest文件中静态声明,一种是动态传参声明,建议使用动态模式,根据自己需要进行配置,静态声明的方式适用于单一固定场景,无法灵活调整。

参见文档:

https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-startupmode

2.deeplink文档:

https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickapp-develop-deeplink

原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201441178593350400?fid=18

原作者:Mayism

卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片相关推荐

  1. Html转快应用方法,卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片...

    问题现象: 在快应用已经打开A页面的情况下,此时若从卡片(或其他媒介)跳转至快应用指定页面B,点击左上角返回键,退出页面顺序是B-A-卡片,无法一键直接返回卡片(或其他媒介). 需要实现的场景:在快应 ...

  2. Android 通过短信(H5)跳转到App指定页面

    最近公司为了增加用户活跃度,新增了许多活动,要求从多种方式可以跳转到App的指定页面.比如闪屏页.首页弹框.首页banner.webView.极光推送消息点击跳转以及通过短信跳转到App. 对此,我们 ...

  3. 微信模板消息跳转小程序指定页面(非首页)的问题

    需求 微信公众号发送模板消息,跳转到指定小程序的页面,可携带参数 问题点 文档 示例 根据官方文档的描述和示例展示,模板消息对象只要在miniprogram 对象中设置小程序的appid 和 page ...

  4. 在线制作微信跳转链接源码可以实现微信跳转浏览器打开指定页面的功能

    源码使用场景: 1.用来实现微信自动跳转外部浏览器下载app 2.用来实现微信内打开网页链接自动跳转浏览器访问指定页面 3.防止网页链接由于被微信拦截,导致用户无法正常在微信内打开 源码说明: 适用安 ...

  5. 从微信跳转第三方app:在微信打开h5页面后,点击触发跳转自己app指定页面

    今天,朋友发来一条拼多多砍价消息,点击链接跳转到下面的H5页面,点击允许,跳转到拼多多的App Store页面,到这都很正常对吧,神奇的是点击打开后跳转到了指定的页面,不只是简单的打开app 想了下他 ...

  6. uni-app微信小程序生成自定义参数二维码,跳转小程序指定页面,获取参数;uni-app微信小程序获取二维码自定义参数;微信小程序生成动态参数二维码;uni-app微信小程序获取动态参数二维码;

    一.场景需求: 在小程序个人名片页面A页面,生成用户的个人名片二维码(该二维码携带用户的唯一标识id):微信扫一扫或长按图片识别这个二维码,可以跳转到小程序的B页面,并且在B页面拿到二维码上的唯一标识 ...

  7. 微信或QQ分享跳转到APP指定页面

    分享链接通过浏览器跳转到APP页面 iOS分享通过safari浏览器实现都是按照URL Scheme,但是在QQ或者微信就无法实现,原因是QQ.微信将这种唤醒app的方式给禁止掉了, 因此这种方式就不 ...

  8. 网页跳转微信打开指定页面

    前段时间,公司有个需求,需要手机浏览器 /APP/跳转微信,后面发现原来微信将这功能隐藏在了 ticket 的生成接中,微信根据 ticket 在服务端存储匹配,并打开指定的网页,经过全方面测试发现, ...

  9. html实现自动打开微信,微信自动跳转第三方浏览器指定页面的实现方式

    微信被认为是目前最具营销价值的营销渠道之一,没有之二,原因很简单,微信是目前超高活跃度的app稳稳第一名,正所谓哪里有流量哪里有江湖,所以无数的营销人夜以继日的奋斗在微信营销的浪潮中 解决方案:微信中 ...

  10. Android 跳转到ViewPager指定页面

    viewPagerl.setCurrentItem(0);

最新文章

  1. 对象存储HTML自定义属性,设置对象属性_对象存储服务 OBS_SDK参考_Node.js_上传对象_华为云...
  2. python turtle库画图案-python中的turtle库绘制图形
  3. hdu4665 DFS
  4. yii2 引入php文件,Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
  5. erlang精要(22)-归集器、记录
  6. Robot Framework: 自定义自己的python库
  7. [LeetCode]Balanced Binary Tree
  8. 【JSOI2007】【BZOJ1029】建筑抢修(贪心,堆)
  9. PHP openssl加密扩展使用总结
  10. python爬虫微信公众号文章_Python爬虫案例:爬取微信公众号文章
  11. 广场舞江湖刀光剑影,糖豆APP武艺高强却难打赢中老年擂台?
  12. JAVA圆和正方形组合图形_关于java:图形数据流组合框架
  13. Python「剪藏」网页为 PDF
  14. IMU、AHRS、VRU和GNSS、INS
  15. python3 的 md5加密
  16. 快速傅立叶变换:FFT算法原理及C++实现
  17. P2P对等网络技术原理整合
  18. *每日一题(三零)var a = 10 var foo={ a:20, bar:function(){ var a=30 return this.a
  19. 打通apk到hal层
  20. linux 磁盘管理 阵列,Linux 磁盘管理~~~~RAID1

热门文章

  1. 创业公司中运营人员的典型一天是怎么度过的?
  2. flexbox_Flexbox指南
  3. 最新《播布客李明新概念C语言作品》
  4. 智能管家---4.Log封装
  5. 利用神经网络逼近sin(x)函数
  6. 程序员真的是吃青春饭的吗?
  7. sparkSQL写入hive报错:Exception thrown when executing query
  8. 简单的MD5加密解密
  9. html怎么创建页面书签链接,如何:在“设计”视图中为 Web 窗体页插入 HTML 超链接和书签...
  10. 滕振宇谈如何进行单元测试