离线工程集成其他推送

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

相关推荐
BigTopOne6 小时前
VS Code IntelliSense 配置(解决 #include 找不到的报红)
前端
愚公搬代码6 小时前
【愚公系列】《Web应用安全》005-Visual Studio Code编辑器的使用
前端·安全·编辑器
用户921080262866 小时前
2. 以 Bubble 为例,看 Ant Design X Vue 组件是怎么设计的
前端
Liora_Yvonne6 小时前
Monorepo 里的 shared、services 和 ui 到底怎么划分?
前端
PedroQue996 小时前
uni-router v2.1.0 升级:导航守卫全面支持返回值模式
前端·uni-app
猫七先生6 小时前
从零到一:个人博客自动化部署踩坑全记录
前端
淼澄研学6 小时前
Python调用通义千问API实现长尾搜题内容自动化生成实战
前端·react.js·架构
绿岛之北6 小时前
Electron 安全入门:为什么一个 XSS 可能变成 RCE?
前端·electron
舒灿7 小时前
DeepSeek Harness——Agent自我进化的实现途径?
前端·ai编程·deepseek
cindershade7 小时前
React Server Components 在真实项目中的边界:哪些组件该放在服务端
前端