本文为您介绍了如何初始化 Android IDRS SDK。
初始化 IDRS
public void init(Context context,
IdrsParams idrsParams,
SdkInitCallBack sdkInitCallBack,
SdkResourceProgress progressCallBack)
请求参数
参数 | 类型 | 说明 | 是否必须 |
context | Context | 上下文 | 是 |
idrsParams | IdrsParams | 初始化参数 | 是 |
sdkInitCallBack | SdkInitCallBack | 初始化回调接口 | 是 |
progressCallBack | SdkResourceProgress | 下载资源文件进度 | 否 |
IdrsParams 参数
参数 | 类型 | 说明 | 是否必须 |
sUid | String | 身份标识,推荐使用数字及字母 | 是 |
sAppId | String | 应用 ID,从控制台中的 应用管理 处获取 | 是 |
AK | String | AccessKey,从控制台中的 用户管理 处获取 | 是 |
SK | String | SecretKey,从控制台中的 用户管理 处获取 | 是 |
sType | String |
| 是 |
sSecurityToken | String | 定制版本的密钥,阿里云用户直接传 null | 否 |
engineTypes | Set<EngineType> | 业务模块,详见下方的 engineTypes 枚举 | 是 |
EngineType 枚举
参数 | 说明 |
AUDIO_DETECT_ENGINE | 语音识别 |
FACE_DETECT_ENGINE | 人脸检测 |
HAND_DETECT_ENGINE | 手势识别 |
OCR_DETECT_ENGINE | OCR |
LOCAL_RECORDE_ENGINE | 本地录制 |
返回值
无
代码示例
IdrsParams idrsParams = new IdrsParams();
idrsParams.sUid = userId;
idrsParams.sAppId = appId;
idrsParams.AK = ak;
idrsParams.SK = sk;
idrsParams.sType = type;
idrsParams.sSecurityToken = token;
idrsParams.engineTypes = EnumSet.of(
EngineType.AUDIO_DETECT_ENGINE,
EngineType.FACE_DETECT_ENGINE,
EngineType.HAND_DETECT_ENGINE,
EngineType.OCR_DETECT_ENGINE,
EngineType.LOCAL_RECORDE_ENGINE);
IdrsSdk.getInstance().init(this,idrsParams new IdrsSdk.SdkInitCallBack() {
@Override
public void success() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(CreateRoomActivity.this, "初始化成功", Toast.LENGTH_LONG).show();
}
});
}
@Override
public void fail(final String message) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(CreateRoomActivity.this, "初始化失败", Toast.LENGTH_LONG).show();
}
});
}
}, new SdkResourceProgress() {
@Override
public void progress(final int progress) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//下载显示进度
}
});
}
});
动态加载资源包
动态获取资源文件设置
implementation platform("com.mpaas.android:$mpaas_artifact:$mpaas_baseline")
implementation ('com.mpaas.android:idrs') {
exclude module:'idrs-dynamic-res-local-pkg-build' //云端资源本地包模块
}
设置指定支持 ABI
public void setABIType(Set<ABIType> abiType)
请求参数
参数 | 类型 | 说明 | 是否必须 |
abiType | Set<ABIType> | 支持的类型 | 是 |
代码示例
//需要在调用IdrsSdk.getInstance().init()前调用
IdrsSdk.getInstance().setABIType( EnumSet.of(ABIType.ARMEABI_V7A));
下载资源文件
public void getSdkResource(Context context, IdrsParams idrsParams, SdkResourceCallback resourceCallBack)
请求参数
参数 | 类型 | 说明 | 是否必须 |
context | Context | 上下文 | 是 |
idrsParams | IdrsParams | 初始化参数 | 是 |
resourceCallBack | SdkResourceCallback | 下载文件回调接口 | 是 |
代码示例
IdrsParams idrsParams = new IdrsParams();
idrsParams.sUid = userId;
idrsParams.sAppId = appId;
idrsParams.AK = ak;
idrsParams.SK = sk;
idrsParams.sType = type;
idrsParams.sSecurityToken = token;
idrsParams.engineTypes = EnumSet.of(
EngineType.AUDIO_DETECT_ENGINE,
EngineType.FACE_DETECT_ENGINE,
EngineType.HAND_DETECT_ENGINE,
EngineType.OCR_DETECT_ENGINE,
EngineType.LOCAL_RECORDE_ENGINE);
IdrsSdk.getInstance().getSdkResource(MainActivity.this, idrsParams, new SdkResourceCallback() {
@Override
public void success() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (downloadDialog!=null){
downloadDialog.dismiss();
}
Toast.makeText(MainActivity.this, "资源文件加载成功", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void fail(String s) {
}
@Override
public void progress(final int progress) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (downloadDialog==null){
showDownloadDialog();
}
if (downloadDialog!=null){
downloadDialog.setTvDownloadProgress(progress);
}
}
});
}
});
文档内容是否对您有帮助?