# com.herewhite.sdk.CommonCallback interface 参考 (/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="details"></a>

## 详细描述 [#详细描述]

适用版本：**Whiteboard Android SDK 2.16.134**。

`CommonCallback`，用于 SDK 向 app 发送回调事件通知。
&lt;p&gt;
实时房间和回放房间都可以继承该接口下的回调方法。

@since 2.9.13

| 公开成员签名 |  |
| --- | --- |
| void | [throwError](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a721b4489c52b2740f233a1742f555916) (Object args) |
| String | [urlInterrupter](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a28839222c6e4b44a001da833300991d4) (String sourceUrl) |
| void | [onPPTMediaPlay](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a695dc7abd40851cd0ffe0e573566e8f1) () |
| void | [onPPTMediaPause](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a9967d9cd3eb16c0db3024f7a6a8c7d64) () |
| void | [onMessage](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a2a843f00164c64d248143d2194beecae) (JSONObject object) |
| void | [onBackgroundImageLoad](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a88366f40f1db79a7428623bd0ee12ca3) (BackgroundImageLoadEvent event) |
| void | [onApplianceInitLoadingChange](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a50b38e364a3817b1de357fe022b493bf) (ApplianceInitLoadingChangeEvent event) |
| void | [sdkSetupFail](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a0a988489c8559923f178eef3ba322704) (SDKError error) |
| void | [onLogger](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#a9ccc2cfa4bf7288dd894347454eaead7) (JSONObject object) |
| void | [onLocalLogStateChange](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/interfacecom-1-1herewhite-1-1sdk-1-1-common-callback#aa44a2e63f238617b93ec282f23d4c47e) (JSONObject state) |

## 函数说明 [#函数说明]

<a id="a721b4489c52b2740f233a1742f555916"></a>

### throwError() [#throwerror]

<ApiSignature>

void throwError(Object args)

</ApiSignature>

SDK 出现未捕获的全局错误回调。

<ParameterList title="参数">
<Parameter name="args">

错误信息。

</Parameter>
</ParameterList>

在 [com.herewhite.sdk.AbstractCommonCallbacks](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-abstract-common-callbacks#aaceb1faaeaa59ec93dce1c88bcd8e7f6) 内被实现.

<a id="a28839222c6e4b44a001da833300991d4"></a>

### urlInterrupter() [#urlinterrupter]

<ApiSignature>

String urlInterrupter(String sourceUrl)

</ApiSignature>

图片拦截回调。

:::info[自从]
2.9.14
:::

该回调默认禁用。你可以在初始化白板 SDK 时，通过 [`setEnableInterrupterAPI`](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-white-sdk-configuration#aa2e118f6e449997fbd487a5d5357745b)(true) 方法开启。

开启后，在白板中插入图片时，SDK 会触发该回调，报告图片的原 URL 地址。你可以在该回调中将原 URL 地址替换成指定的 URL 地址。

:::info[注解]
开启后，SDK 会频繁触发该回调，因此 Agora 不推荐开启该回调；在 Android 平台，你可以使用 WebView 的拦截功能进行图片拦截。
:::

<ParameterList title="参数">
<Parameter name="sourceUrl">

原 URL 地址。

</Parameter>
</ParameterList>

<h4 data-toc-hidden="true" id={"返回值"}>返回值</h4>

替换后的图片地址。请确保在返回值中进行传参。

在 [com.herewhite.sdk.AbstractCommonCallbacks](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-abstract-common-callbacks#a1a80dee592bc7f609526d317506bc563) 内被实现.

<a id="a695dc7abd40851cd0ffe0e573566e8f1"></a>

### onPPTMediaPlay() [#onpptmediaplay]

<ApiSignature>

void onPPTMediaPlay()

</ApiSignature>

播放动态 PPT 中的音视频回调。

:::info[自从]
2.9.13
:::

在 [com.herewhite.sdk.AbstractCommonCallbacks](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-abstract-common-callbacks#a21ecfcd612e98811d2a9adfc20c6564b) 内被实现.

<a id="a9967d9cd3eb16c0db3024f7a6a8c7d64"></a>

### onPPTMediaPause() [#onpptmediapause]

<ApiSignature>

void onPPTMediaPause()

</ApiSignature>

暂停播放动态 PPT 中的音视频回调。

:::info[自从]
2.9.13
:::

在 [com.herewhite.sdk.AbstractCommonCallbacks](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-abstract-common-callbacks#a104dc982d2a8267f3d7f63e1692bc8c9) 内被实现.

<a id="a2a843f00164c64d248143d2194beecae"></a>

### onMessage() [#onmessage]

<ApiSignature>

void onMessage(JSONObject object)

</ApiSignature>

接收到网页发送的消息回调。

:::info[自从]
2.11.4
:::

当本地用户收到了网页（如 iframe 插件、动态 PPT）发送的消息时会触发该回调。

:::info[注解]
不保证所有用户都能接收到该回调。
:::

<ParameterList title="参数">
<Parameter name="object">

JSON 格式的消息。只有当消息为 JSON 格式时，本地用户才能收到。

</Parameter>
</ParameterList>

在 [com.herewhite.sdk.AbstractCommonCallbacks](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-abstract-common-callbacks#a569de82a2548a7fb84c80845cae67767) 内被实现.

<a id="a88366f40f1db79a7428623bd0ee12ca3"></a>

### onBackgroundImageLoad() [#onbackgroundimageload]

<ApiSignature>

void onBackgroundImageLoad(BackgroundImageLoadEvent event)

</ApiSignature>

背景图加载事件：name、state(success/failed/cancelled)、source(appliance)、resourceId、resourceUrl、viewId、scenePath。

<a id="a50b38e364a3817b1de357fe022b493bf"></a>

### onApplianceInitLoadingChange() [#onapplianceinitloadingchange]

<ApiSignature>

void onApplianceInitLoadingChange(ApplianceInitLoadingChangeEvent event)

</ApiSignature>

教具初始化进度事件：name、loading、phase(plugin/worker/scene/ready)、status(start/success/timeout/error)。loading=false、phase=ready、status=success 表示就绪。

<a id="a0a988489c8559923f178eef3ba322704"></a>

### sdkSetupFail() [#sdksetupfail]

<ApiSignature>

void sdkSetupFail(SDKError error)

</ApiSignature>

SDK 初始化失败。收到错误后重新创建/初始化 SDK，再重新入房；这不是普通房间断线重连事件。

<a id="a9ccc2cfa4bf7288dd894347454eaead7"></a>

### onLogger() [#onlogger]

<ApiSignature>

void onLogger(JSONObject object)

</ApiSignature>

获取 SDK 输出的本地调试日志。

:::info[自从]
2.13.22
:::

成功调用 [`setLog`](/zh-CN/api-reference/whiteboard/whiteboard-sdk/android/classcom-1-1herewhite-1-1sdk-1-1-white-sdk-configuration#af29676180672f3e54d050d591707312c)(true) 后，SDK 会触发该回调，向你发送本地调试日志。

如果你需要关闭该回调，可以设置 `setLog(false)`。

:::info[注解]
设置 `setLog(false)` 后，SDK 会停止通过 `onLogger` 回调发送本地调试日志，但仍然会通过该回调发送 [`video-js-plugin`](https://www.npmjs.com/package/@netless/video-js-plugin) 插件的日志信息。
:::

<ParameterList title="参数">
<Parameter name="object">

JSON 对象格式的日志消息，每条日志消息包含以下 key：

- `funName`：功能名称。
- `params`：具体的参数设置。

</Parameter>
</ParameterList>

例如，`{"funName": "joinRoom", "params": {"isWritable": 1, "region": "cn-hz"}}`。

<a id="aa44a2e63f238617b93ec282f23d4c47e"></a>

### onLocalLogStateChange() [#onlocallogstatechange]

<ApiSignature>

void onLocalLogStateChange(JSONObject state)

</ApiSignature>

WebView 内本地日志状态变更，回调参数为 JSON 状态对象。
