更新时间:2024-07-30 GMT+08:00
异步初始化
InitAsync
初始化
1
|
HWMSdk.initAsync(Application,OpenSDKConfig, SdkCallback) |
接口描述
该接口用于异步初始化SDK,进行一些环境准备工作,调用其他接口之前必须先完成异步初始化并收到onSuccess回调。此接口只需要调用一次,调用前必须先注册Activity声明周期的监听,注册行为必须放在Application的onCreate里,主要目的是让sdk内部可以通过监听activity的生命周期获取当前activity,跳转界面,否则可能出现界面无法跳转的情况。
注意事项
1. 对App初始化速度有要求的建议使用异步初始化接口。
2. 请确保初始化完成后再使用SDK的其他功能。
3. 请参照示例代码,在调用异步初始化接口之前先在Application的onCreate里注册Activity生命周期的监听。
方法定义
1 2 3 4 5 6 7 8 |
/** * sdk 异步初始化接口,确保使用UISDK任何其他功能前已经初始化成功 * * @param application 传入的applition,内部转化为applicationContext,用户获取系统资源 * @param sdkConfig sdk配置相关 * @param sdkCallback sdk回调 */ void initAsync(@NonNull Application application, OpenSDKConfig sdkConfig, SdkCallback<Integer> sdkCallback) |
参数描述
参数 |
是否必须 |
类型 |
描述 |
---|---|---|---|
application |
是 |
Application |
当前程序的Application对象。 |
sdkConfig |
是 |
OpenSDKConfig |
对SDK配置好参数的对象。 |
SdkCallback |
是 |
SdkCallback<Integer> |
异步初始化结果回调。 |
示例代码
// 【重要】注册Activity生命周期的监听,必须要在Application的onCreate里注册 registerActivityLifecycleCallbacks(new ActivityLifecycleHandle()); // 演示子线程初始化 new Thread(() -> HWMSdk.initAsync(mApp, sdkConfig, new SdkCallback<Integer>() { @Override public void onFailed(SDKERR sdkerr) { HCLog.e(TAG, "init failed:" + sdkerr.getDescription()); } @Override public void onSuccess(Integer integer) { HCLog.i(TAG, "init success:" + integer); // 继续其他SDK相关逻辑 mHandler.sendEmptyMessage(0); } })).start();
父主题: 基础配置