本文為您介紹了如何初始化 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);
}
}
});
}
});
文檔內容是否對您有幫助?