离线工程集成其他推送

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

相关推荐
惜茶2 小时前
使用前端框架vue做一个小游戏
前端·vue.js·前端框架
普通码农2 小时前
Vue 3 接入谷歌登录 (小白版)
前端·vue.js
Ric9702 小时前
Object.fromEntries 实操
前端
用户4099322502122 小时前
Vue3响应式系统中,对象新增属性、数组改索引、原始值代理的问题如何解决?
前端·ai编程·trae
阿明Drift2 小时前
使用 CSS `perspective` 实现 3D 卡片效果
前端·css
若安程序开发2 小时前
web京东商城前端项目4页面
前端
申阳2 小时前
Day 8:06. 基于Nuxt开发博客项目-我的服务模块开发
前端·后端·程序员
转角羊儿2 小时前
layui框架中,表单元素不显示问题
前端·javascript·layui
muyouking113 小时前
WASM 3.0 两大领域实战:SvelteKit前端新范式(完整版)
前端·wasm