离线工程集成其他推送

uniapp中推送通知

1.在app.vue中添加监听

js 复制代码
var globalEvent = uni.requireNativePlugin('globalEvent');
globalEvent.addEventListener('myEvent', function(e) {
	console.log('onPushMessage myEvent' + JSON.stringify(e));
});
app.initEventBus()

2、调用插件app.initEventBus(),注册EventBus

js 复制代码
@UniJSMethod(uiThread = false)
fun initEventBus(): Int {
    if (!isRegistered) {
        EventBus.getDefault().register(this)
        Log.d("onPushMessage","onMessageEvent initEventBus")
        isRegistered = true
    }
    return 1
}

3.收到通知设置通知点击跳转,跳转到MainActivity

js 复制代码
public class MyPandoraEntry extends PandoraEntry

4.如果是离线通知的话,直接跳转到MainActivity或者设置打开应用

MyPandoraEntry启动模式设置成android:launchMode="singleTask"

5.点击通知后,在startActivity获取到点击通知后intent发送postSticky广播

js 复制代码
    @Override
    public void startActivity(Intent intent) {
        EventBus.getDefault().postSticky(new MessageEvent(intent.getExtras().get("key")));

    }

6.插件收到信息后,通知uniapp层

js 复制代码
fun onMessageEvent(event: MessageEvent) {
    mUniSDKInstance.fireGlobalEventCallback("myEvent", params)
}

目前android ios 鸿蒙next都可以使用一样的方式,发送粘性广播,通过启动后监听。其中uniapp鸿蒙next需要自己使用接口,目前没有看到globalEvent

相关推荐
慧一居士12 分钟前
vite.config.ts 配置使用说明,完整配置示例
前端
wusp199419 分钟前
nuxt3模块化API架构
前端·javascript·nuxt3
沛沛老爹24 分钟前
Web开发者进阶AI:企业级Agent Skills安全策略与合规架构实战
前端·人工智能·架构
遗憾随她而去.1 小时前
前端首屏加载时间的度量:FCP、LCP等指标的规范理解
前端
CDwenhuohuo1 小时前
安卓app巨坑 nvue后者页面要写画笔绘制功能nvue canvas
前端·javascript·vue.js
一只小bit1 小时前
Qt 事件:覆盖介绍、处理、各种类型及运用全详解
前端·c++·qt·cpp
人道领域1 小时前
JavaWeb从入门到进阶(前端工程化)
前端
shughui1 小时前
APP、Web、H5、iOS与Android的区别及关系
android·前端·ios
Amumu121381 小时前
React Router 6介绍
前端·react.js·前端框架
山峰哥2 小时前
SQL调优实战:让查询效率飙升10倍的降本密码
服务器·前端·数据库·sql·编辑器·深度优先