有问
有问
  • 发布:2019-11-14 16:27
  • 更新:2020-05-15 11:24
  • 阅读:725

IOS receive出现无限循环监听

分类:HTML5+

今天刚更新了新版本,HBX2.4.1
IOS端当APP在前台打开界面的状态下
这时我通过后台发送了一个推送通知
然后只要APP在前台,如果监听了消息事件就会拼命的收到透传消息。
没更新前正常。APP不在前台也正常。
function createLocalPushMsg(payload,title){
var options = {cover:false,icon:"logo.png"};
var str ="[XXX]";
str += title;
plus.push.createMessage( str, "LocalMSG", options );
if(plus.os.name=="iOS"){
console.log('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');
}
}
plus.push.addEventListener( "receive", function( msg ) {
//在线消息转透传
var obj=msg;
var payload="";
payload=obj.payload;
createLocalPushMsg(payload,obj.title); //这里收到消息后为了提示用户则再创建一个本地透传。以前没有这个问题,今天更新了最新版HBX才出现了。

}, false );  

请问如何解决。。。
就是IOS端APP在前台时,出现N无限循环监听receive事件。切换到后台时才会停止。
这应该是个BUG吧?不是透传消息的问题,是receive事件无限被执行。

2019-11-14 16:27 负责人:无 分享
已邀请:
DCloud_iOS_XHY

DCloud_iOS_XHY

你好,本地通知也会触发 receive 事件, receive 事件中又创建本地通知,然后,导致死循环 。。。,你需要判断消息类型来决定是否要创建本地通知

  • 有问 (作者)

    不是这个问题吧。。。因为之前双端都正常的,现在是安卓正常,苹果不正常,要是死循环,代码一样的,安卓也得死循环呀。发布之后最近我就没看有没有这个问题了,因为我没有苹果手机,当时是用开发证书版本,在苹果6S上测试的。

    2020-01-19 17:02

  • jtshushu

    您好!在

    https://github.com/dcloudio/H5P.Server/tree/master/push/UniPush



    https://github.com/dcloudio/H5P.Server/tree/master/push/Getui

    这的页面中没有解决

    苹果打开app有通知功能

    直接receive 事件了

    2020-05-15 11:30

jtshushu

jtshushu - 擅长:PHP-Thinkphp Python MUI UniApp Vuejs Bootstrap Jq Logo设计 广告设计 网页设计 有项目上需要联系我微信号:jtshushu66

用php后台程序调用出 苹果推送 没打开可以推送正常
打开app直接 receive 事件 了
你们怎么解决呢

  • 有问 (作者)

    receive后,在本地再创建一条透传应该可以吧。如果创建不了,也没办法。但在前台时就会直接打开。

    2020-08-31 16:38

  • jtshushu

    回复 有问: 多谢

    2020-09-02 09:32

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