离线工程集成其他推送

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

相关推荐
yuanyxh5 小时前
Mac 软件推荐
前端·javascript·程序员
万少5 小时前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
某人辛木5 小时前
Web自动化测试
前端·python·pycharm·pytest
Kagol6 小时前
Superpowers GSD gstack AgentSkills深度测评
前端·人工智能
excel7 小时前
JavaScript 字符串与模板字面量:从表象到本质理解
前端
京东云开发者7 小时前
当AI成为导演-如何用AI创作动漫短剧
前端
李白的天不白8 小时前
使用 SmartAdmin 进行前后端开发
java·前端
乘风gg8 小时前
🤡PUA AI Coding 工具 的 10 条终极语录
前端·ai编程·claude
学Linux的语莫8 小时前
Vue 3 入门教程
前端·javascript·vue.js
怕浪猫8 小时前
第一章、Chrome DevTools Protocol (CDP) 详解
前端·javascript·chrome