您好,登錄后才能下訂單哦!
Java注冊接收消息的方法:
nativeAndroid.setExternalInterface("sendToNative", new INativePlayer.INativeInterface() { @Override public void callback(String message) { String str = "Native get message: "; str += message; Log.d(TAG, str); } });
JS發(fā)送消息:
egret.ExternalInterface.call("sendToNative", "message from JS");
JS注冊接收消息的方法:
egret.ExternalInterface.addCallback("sendToJS", function(msg) { console.log(msg); });
Java發(fā)送消息:
nativeAndroid.callExternalInterface("sendToJS", "message from Java");
需要先注冊接收消息的方法,才能接收到另一端發(fā)送的消息。
在應用剛啟動時,JS可能沒有加載完,這是向JS發(fā)送消息是不能接收到的??梢栽谟螒虼a中先向Java發(fā)送消息通知Java端接收方法已經(jīng)注冊完成,再向JS發(fā)送消息。
------------------------------------------
具體實現(xiàn)步驟
1、在Demo項目Main.ts文件createGameScene方法最后添加注冊消息的方法
如果接收到java發(fā)送過來的消息,將colorLabel文本由Hello Egret修改為java端發(fā)送過來的字符串
并在按鈕事件發(fā)送消息
2、回到android studio,MainActivity.java已經(jīng)實現(xiàn)了消息的注冊,并發(fā)送消息到js
3、編譯項目
4、在android手機上運行項目,查看結果,可以觀察到點擊Click2!之后,將colorLabel文本由Hello Egret修改為
Native get message: message from JS
,說明整個流程是通的
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。