Cordova 发送接收外部广播

一、添加插件

新建Cordova项目

cordova create Hello com.xkw.hello

添加Android平台

在新建项目的根目录下,进入命令行,执行

cordova platform add android

添加广播插件

cordova plugin add cordova-plugin-broadcaster

 

二、修改Broadcaster插件文件
项目目录(Android)**:platforms\android\app\src\main\java\org\bsc\cordova\CDVBroadcaster.java


 

/**
     * @param receiver
     * @param filter
     */
    protected void registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter) {
//        LocalBroadcastManager.getInstance(super.webView.getContext()).registerReceiver(receiver,filter);
        super.webView.getContext().registerReceiver(receiver, filter);
    }

    /**
     * @param receiver
     */
    protected void unregisterReceiver(android.content.BroadcastReceiver receiver) {
        super.webView.getContext().unregisterReceiver(receiver);
//        LocalBroadcastManager.getInstance(super.webView.getContext()).unregisterReceiver(receiver);
    }

    /**
     * @param intent
     * @return
     */
    protected void sendBroadcast(android.content.Intent intent) {
        webView.getContext().sendBroadcast(intent);
//        return LocalBroadcastManager.getInstance(super.webView.getContext()).sendBroadcast(intent);
    }


 三、JS示例代码

 

<script>
            function open_door() {
                receiverBroadcast();
                console.log("1311event fired!");
                window.broadcaster.fireNativeEvent("广播", {
                    boardid: 1,
                    lockid: 1
                }, function() {
                    console.log("event fired!");
                });

            }

            function receiverBroadcast() {
                console.log("register broadcast received!");
                var listener = function(e) {
                    console.log("didShow received! userInfo: " + JSON.stringify(e));
                    var jsonStr = JSON.stringify(e);

                    var objs = eval("("+jsonStr+")")


                    console.log(objs.contentResult +"=teststatus");
                 
                }
                window.broadcaster.addEventListener("广播", listener);

            }
</script>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值