![](/img/trans.png)
[英]Cordova Plugin Javascript Function call from Native in iOS 4.0.0
[英]Call javascript method from Cordova Plugin's service
我目前正在使用Cordova開發應用程序,因此開發了Cordova插件,該插件運行一項服務,並從該插件中啟動:
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
switch(action){
case "start":
Intent startIntent = new Intent(context, BackgroundService.class);
startIntent.putExtra("action", "play");
context.startService(startIntent);
return true;
}
return false;
}
縮短了代碼的可讀性。 現在,通常我會使用回調從插件中調用javascript方法,但是由於我想使用該功能的服務,如何從那里調用方法(或可能是回調)?
提前非常感謝您:)。
好的,所以我沒有找到使用香草科爾多瓦的方法,但是此插件提供了我一直在尋找的功能: https : //github.com/bsorrentino/cordova-broadcaster
您必須在本機Android代碼中設置LocalBroadcastManager並發送一個Intent。 然后,您定義一個包含要發送的數據的捆綁包,並將其作為您的附加意圖。 然后,您通過廣播管理器發送意圖,並通過javascript接收意圖。
示例Java:
startCallback = new Intent("callback");
Bundle b = new Bundle();
b.putString("callback", "start");
startCallback.putExtras(b);
LocalBroadcastManager.getInstance(applicationContext).sendBroadcastSync(startCallback);
示例Javascript:
var callbackListener = function( e ) {
console.log("What kind of callback: " + e.callback);
};
window.broadcaster.addEventListener( "callback", callbackListener);
我希望這對遇到類似問題的人有所幫助:)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.