今天回复我了吗
今天回复我了吗
  • 发布:2019-07-10 14:39
  • 更新:2021-03-31 10:30
  • 阅读:2324

【报Bug】在安卓端plus.runtime.arguments 接收不到参数

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

在安卓端 A app跳转B app,B app在应用周期onShow里用plus.runtime.arguments接收参数。如果B app已经在手机上打开(在后台运行,进程未结束),此时从A app再跳转到 B app,B app 在onShow里用plus.runtime.arguments 就接收不到参数。(看了日志,官方说已解决但是测试了很多次并没有解决),

ps : ios 正常

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号] 2.0.1

[windows版本号] win10

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-07-10 14:39 负责人:无 分享
已邀请:
h***@163.com

h***@163.com

// 判断启动方式     
        document.addEventListener('newintent',function(){      
            alert("从后台恢复的: newintent");      
            checkArguments();      
        },false);   

加上这个应该就行了吧

DCloud_Android_ST

DCloud_Android_ST

测试没复现你说的问题,手机型号系统版本报一下吧。

DCloud_Android_ST

DCloud_Android_ST

提供一下你跳转B app的方式吧.具体一些最好提供demo示例

  • 今天回复我了吗 (作者)

    352489099@qq.com (作者)


    小米 mui , 安卓模拟器(天天均测试了)


    onshow(){


    this.checkArguments();


    plus.globalEvent.addEventListener('newintent', (e)=>{


    this.checkArguments();


    });


    }


    我刚才又重新测试写了 一遍,


    1.a APP 打开 b APP(b app是还没打开的),这样子可以传


    2.a APP 打开 b APP(b APP已经在后台了但是第一次是被a APP打开的) 是可以被调用)


    3.b APP 自己先打开了,然后 a APP调用 b APP(b没接收到a APP的参数)

    2019-07-10 16:18

  • DCloud_Android_ST

    回复 今天回复我了吗:

    onShow: function() {

    console.log('App Show ---arguments='+plus.runtime.arguments)

    },

    2019-07-10 16:24

今天回复我了吗

今天回复我了吗 (作者) - uniapp 粉丝条

小米 mui , 安卓模拟器(天天均测试了)


onshow(){  
this.checkArguments();  
plus.globalEvent.addEventListener('newintent', (e)=>{  
this.checkArguments();  
});  
}  

我刚才又重新测试写了 一遍,

  1. a APP 打开 b APP(b app是还没打开的),这样子可以传
    2.a APP 打开 b APP(b APP已经在后台了但是第一次是被a APP打开的) 是可以被调用)
    3.b APP 自己先打开了,然后 a APP调用 b APP(b没接收到a APP的参数)
DCloud_App_Array

DCloud_App_Array

HBuilderX alpha(2.0.5)已修复此问题

  • skywing2009

    我安卓还是接收不到值,能唤醒,就是接收不到值,我在onLaunch()中加的这个代码:

    this.checkArguments();


    plus.globalEvent.addEventListener('newintent', (e)=>{


    this.checkArguments();


    });


    然后是网页端唤醒APP

    用的iframe

    2020-11-20 02:07

kysin

kysin - 扶不起的蝌蚪

b APP 自己先打开了,然后 a APP调用 b APP(b没接收到a APP的参数)

该问题目前已经被锁定, 无法添加新回复