方法一:用plus.push.createMessage,另外创建新的通知消息,push的点击回调参考官方文档即可。
推荐使用方法2
方法二:
1.修改setNotification函数加入两个参数notifyType , notifyParam 并添加点击事件
NotificationCustom.prototype.setNotification = function(title, content, tickerTips,notifyId,notifyType = "none", notifyParam = "") {
if (this.mNotificationBuild == null ||
this.notifyManager == null) {
return;
}
notifyId = (typeof(notifyId)=='number')?notifyId:defaultNotifyId;
title = title || defaultTitle;
content = content || defaultContent;
tickerTips = tickerTips || defaultTicker;
this.mNotificationBuild.setContentTitle(title);
this.mNotificationBuild.setContentText(content);
this.mNotificationBuild.setTicker(tickerTips);
//添加点击事件---开始
var Intent = plus.android.importClass("android.content.Intent");
var PendingIntent = plus.android.importClass("android.app.PendingIntent");
var clickIntent = new Intent(main, main.getClass());
clickIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
// 如果没有设置 notifyType,默认为 "none"
clickIntent.putExtra("notifyType", notifyType); // 设置传递的通知类型
clickIntent.putExtra("notifyParam", notifyParam); // 加入 notifyParam
console.log("notifyParam = " + notifyParam)
var pendingIntent = PendingIntent.getActivity(main, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT);
this.mNotificationBuild.setContentIntent(pendingIntent);
//添加点击事件---结束
//下载失败移除进度条
//this.mNotificationBuild.setProgress(0, 0, false);//移除进度条
var R = plus.android.importClass("android.R");
this.mNotificationBuild.setSmallIcon(R.drawable.stat_sys_download);
//默认有声音
this.mNotificationBuild.setDefaults(plus.android.importClass("android.app.Notification").DEFAULT_SOUND);
this.notifyManager.notify(notifyId, this.mNotificationBuild.build());
};
2.APP.vue中设置监听事件,注意在onShow中调用:
checkNotifyType(options) {
const main = plus.android.runtimeMainActivity();
const Intent = plus.android.importClass("android.content.Intent");
const intent = main.getIntent();
const notifyType = intent.getStringExtra("notifyType");
if (notifyType) {
console.log("从通知栏唤醒,notifyType = " + notifyType);
// 处理跳转逻辑
if (notifyType === "apk_update") {
const notifyParam = intent.getStringExtra("notifyParam");
console.log("filePath = " + filePath)
// 防止下次重复触发,清掉 Extra 参数
intent.removeExtra("notifyType");
intent.removeExtra("notifyParam");
// 执行解析notifyParam逻辑
if (notifyParam) {
}
}
}
},
3.创建通知:
// 设置通知信息把参数带上
NotificationUtil.setNotification(appName, msg, '点击查看详情', notifyId, ”apk_update“, notifyParam);
至此完成
0 个回复