在Dart中使用JSON参数调用Chromecast Receiver Library的javascript函数



我有这个JS函数调用:

 this.customMessageBus = castReceiverManager.getCastMessageBus('urn:x-cast:mycastapp', cast.receiver.CastMessageBus.MessageType.JSON);
var errorMessage = {
                    action: 'ERROR_MESSAGE',
                    errorCode: 'code',
                    errorMessage: 'sometext'
                };
this.customMessageBus.broadcast(errorMessage);

在尝试用DART编写Corrispective时:

this.customMessageBus = castReceiverManager.callMethod("getCastMessageBus",
    [
      'urn:x-cast:mycastapp',
      'cast.receiver.CastMessageBus.MessageType.JSON'
    ]);
this.customMessageBus.callMethod("broadcast", ['{
                        action: 'ERROR_MESSAGE',
                        errorCode: 'code',
                        errorMessage: 'sometext'
                    }']);

但我例外:

EXCEPTION: Error: Unexpected message type for JSON serialization in [null]

MessageBus 组件记录在 https://developers.google.com/cast/docs/reference/receiver/cast.receiver.CastMessageBus#constructor_1

在对 API 一无所知的情况下,在 JS 示例中,您传递的是 Map/Object,而在 Dart 中,您传递的是字符串。如果你递给它一个飞镖地图会发生什么?或者,如果这不起作用,您可以尝试使用适当的字段构造一个 JS 对象并传递它。

相关内容

最新更新