Java注冊接收消息的方法:
目前成都創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、湘西土家族網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。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方法最后添加注冊消息的方法
如果接收到j(luò)ava發(fā)送過來的消息,將colorLabel文本由Hello Egret修改為java端發(fā)送過來的字符串
并在按鈕事件發(fā)送消息
2、回到android studio,MainActivity.java已經(jīng)實現(xiàn)了消息的注冊,并發(fā)送消息到j(luò)s
3、編譯項目
4、在android手機上運行項目,查看結(jié)果,可以觀察到點擊Click2!之后,將colorLabel文本由Hello Egret修改為
Native get message: message from JS
,說明整個流程是通的
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。