一、全局说明
在webview的url地址中需加上embedded参数,值固定为flutter 测试地址
二、文件下载
2.1方法说明
handlerName | appDownFile |
2.2传参(web => flutter)
以json对象的形式传递
参数名称 | 类型 | 描述 |
fileUrl | string | 下载文件的地址 |
fileName | string | 下载文件的文件名 |
调用案例:
const params = {
fileUrl: "xxx",
fileName: "文件名称"
}
const res = await window.flutter_inappwebview.callHandler("appDownFile", params)
2.3响应(flutter => web)
以boolean参数的形式传递
参数名称 | 类型 | 描述 |
result | boolean | 文件是否下载完成(true/false) |
调用案例:
controller.addJavaScriptHandler(
handlerName: "appDownFile",
callback: (data) async {
// 获取权限的流程开始
// ...
// 获取完成
return true; // 成功为true,失败为false
};
);
2.4方法对接说明
该方法主要用于会话页面当中文件下载功能,由于web端无法实现将文件存放在对应的目录中,所以需要app端协助存储。
三、获取权限
3.1方法说明
handlerName | checkPermission |
3.2传参(web => flutter)
以json对象的形式传递
参数名称 | 类型 | 描述 |
checkPermission | enum | 需要获取的参数列表 |
调用案例:
const params = {
checkPermission: "record_audio_camera"
}
const res = await window.flutter_inappwebview.callHandler("checkPermission", params)
3.3响应(flutter => web)
以boolean参数的形式传递
参数名称 | 类型 | 描述 |
result | boolean | 权限是否获取成功(true/false) |
调用案例:
controller.addJavaScriptHandler(
handlerName: "checkPermission",
callback: (data) async {
// 获取权限的流程开始
// ...
// 获取完成
return true; // 成功为true,失败为false
};
);
3.4方法对接说明
该方法主要用于获取app应用权限,在web端当中有一些需要调用设备权限功能,但web端无法获取到对应权限也无法判断当前app是否拥有权限,所以需要调用这个方法。
3.5checkPermission说明
权限标识 | 类型 | 描述 |
record_audio_camera | string | 获取麦克风以及摄像头权限 |
record_audio | string | 获取麦克风权限 |
file_camera | string | 获取文件以及摄像头权限 |
file | string | 获取文件权限 |
record_audio | string | 获取麦克风权限 |