详细问题描述
[内容]
在使用推送功能时,监听receive事件后使用createMessage会造成app闪退
重现步骤
[步骤]
[结果]
[期望]
运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]
附件
[代码片段]
// 监听推送消息接收事件
plus.push.addEventListener("receive", function(msg) {
test("receive " + JSON.stringify(msg));
parseAndCreateNotification(msg);
pushMsg = msg; //监听到消息时将值赋给pushMsg
}, false);
/**
* 创建本地消息
*/
function parseAndCreateNotification(msg) {
if(plus.os.name=="iOS") {
var data = JSON.parse(msg.payload.customMsg);
var title = data.detail.title;
var content = data.detail.content;
var options = {
cover: false
};
var str = content;
document.getElementById("num").value = 5;
plus.push.createMessage(str, data, options);
} else {
var data = JSON.parse(msg.payload);
var title = data.title;
var content = data.content;
var options = {
cover: false,
title: title
};
var str = content;
document.getElementById("num").value = 6;
plus.push.createMessage(str, data, options);
}
}
[安装包]
联系方式
[QQ] 550809554
[电话]
2 个回复
战无不胜
这个问题解决没?
l***@qq.com - 码农
我也遇到这个问题,已解决,记录以备查询。
createMessage 创建消息后,如果应用在前台,会继续解发 receive事件,重复创建 createMessage ,造成死循环,然后就闪退。
解决方法:receive 接收的消息 type=receive, 判断 type==receive 时创建 createMessage
4***@qq.com
您好,您这个解决方法看不大懂,能详询下吗
2019-12-28 16:30
4***@qq.com
判断 type==receive 时创建 createMessage 这个是在哪里判断的呢
2019-12-28 16:30