このトピックでは、WVStandardEventCenter の JavaScript API について説明します。HTML5 アプリまたはミニアプリを作成するときに、このトピックを参照できます。 WVStandardEventCenter の JavaScript API を使用して、HTML5 アプリまたはミニアプリからネイティブにイベントを送信できます。
WVStandardEventCenter.postNotificationToNative
HTML5 アプリまたはミニアプリからネイティブにイベントを送信します。イベント名は、ビジネス要件に基づいて変更できます。
iOS イベントリスナー
通知センターを使用してイベントをリッスンします。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myEventListener) name:eventName object:nil]
- (void)myEventListener:(NSNotification *)notification {
// notification.userInfo からイベントパラメータを取得するように指定します。
}
Android イベントリスナー
@import android.taobao.windvane.service;
@import android.taobao.windvane.standardmodal
// リスナーを実装します。
public class JsEventListener implements WVEventListener {
@Override
public WVEventResult onEvent(int id, WVEventContext ctx, Object... obj) {
// すべてのイベントがリスナーに送信されます。WVEventId.H5TONATIVE_EVENT は、HTML5 アプリまたはミニアプリによって送信されたイベントを示します。
if (id == WVEventId.H5TONATIVE_EVENT) {
if (obj[0] instanceof String) {
String params = (String)obj[0];
// params は、event と param の 2 つのパラメータを含む JSON 文字列です。文字列を逆シリアル化する必要があります。
}
}
return null;
}
}
// リスナーを登録します。
WVEventService.getInstance().addEventListener(new JsEventListener());
入力パラメータ
[
string
]event: 送信するイベントの名前。[
object
]param: (オプション)送信するイベントのパラメータ。
コールバックパラメータ
コールバックパラメータはありません。電話がビープ音を鳴らした場合、success
コールバックが呼び出されます。それ以外の場合、failure
コールバックが呼び出されます。
var params = {
event: 'eventName',
param: {
// 送信するイベントのデータ。
}
};
window.WindVane.call('WVStandardEventCenter','postNotificationToNative', params, function(e) {
alert('success');
}, function(e) {
alert('failure: ' + JSON.stringify(e));
});