客户端接口 - WMPFClientProvider
WMPFClientProvider
需 WMPF >= 2.2.0 支持。
封装小程序与移动应用通信的接口。
AndroidManifest.xml
配置
<application>
<provider
android:name="ClientProvider"
android:authorities="com.tencent.wmpf.cli.provider"
android:enabled="true"
android:exported="true"
tools:ignore="ExportedContentProvider" />
</application>
示例代码
public class ClientProvider extends WMPFClientProvider implements WMPFClientProvider.InvokeChannelDelegate, WMPFClientProvider.DeviceActivatedDelegate {
{
setDeviceActivatedDelegate(this);
setInvokeChannelDelegate(this);
}
@Override
public boolean onCreate() {
return true; // 直接返回 true 即可。
}
@Override
public void onDeviceActivated() {
// WMPF 通知设备已经激活成功,一般仅车机自主激活时需要使用,开发者主动调用 activateDevice 的场景可忽略。
}
/**
* 小程序内调用 wmpf.Channel.registerEvent 函数时会调用本函数。
* 事件注册后,可以通过 WMPFClientProvider.notifyInvokeChannelEvent 通知小程序事件。
* 开发者应对 event 和 eventId 的关系进行持久化存储,以保证应用重启后依然可以向小程序正常发送事件。
* @param event 事件名称
* @param eventId 事件 id ,作为后续通知回调的凭据
*/
@Override
public void registerEvent(String event, String eventId) {
}
/**
* 小程序内调用 wmpf.Channel.unregisterEvent 函数时会调用本函数。
* @param event 事件名称
* @param eventId 事件 id
*/
@Override
public void unregisterEvent(String event, String eventId) {
}
/**
* 小程序中调用 wmpf.Channel.invoke 函数时会调用本函数。
* @param method 小程序传入的指令名 (command)
* @param args 小程序传入的指令参数 (data)
* @param callback 向小程序返回结果的 callback
*/
@Override
public void invoke(String method, String args, ExceptionalConsumer<String, ? extends Exception> callback) {
// 处理指令....
callback.consume("{\"errCode\": 0}");
}
/**
* 小程序中调用 wmpf.Channel.invokeSync 函数时会调用本函数。
* @param method 小程序传入的指令名 (command)
* @param args 小程序传入的指令参数 (data)
*/
@Override
public String invokeSync(String method, String args) {
// 处理指令....
return "{\"errCode\": 0}";
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)