问题描述
初始化代码
private fun initImSdk(application: Application) {
UserManager.init()
// 只在主进程初始化,否则会导致重复收到消息
if (getCurProcessName(application) == BuildConfig.APPLICATION_ID) {
// 如果uikit是以aar的方式引入 ,那么需要在此对Config里面的属性进行配置,如:
Config.IM_SERVER_HOST = AppConfig.getIMHostUrl()
val wfcUIKit = WfcUIKit.getWfcUIKit()
wfcUIKit.init(application)
wfcUIKit.appServiceProvider = AppService.Instance()
MessageViewHolderManager.getInstance().registerMessageViewHolder(
LocationMessageContentViewHolder::class.java,
R.layout.conversation_item_location_send,
R.layout.conversation_item_location_send
)
setupWFCDirs(application)
// val sp: SharedPreferences =
// getSharedPreferences(Config.SP_CONFIG_FILE_NAME, MODE_PRIVATE)
// val id = sp.getString("id", null)
// val token = sp.getString("token", null)
// if (!TextUtils.isEmpty(id) && !TextUtils.isEmpty(token)) {
// //需要注意token跟clientId是强依赖的,一定要调用getClientId获取到clientId,然后用这个clientId获取token,这样connect才能成功,如果随便使用一个clientId获取到的token将无法链接成功。
// //另外不能多次connect,如果需要切换用户请先disconnect,然后3秒钟之后再connect(如果是用户手动登录可以不用等,因为用户操作很难3秒完成,如果程序自动切换请等3秒)
EasyConfig.getInstance()
.addHeader("clientId", ChatManagerHolder.gChatManager?.clientId)
.addHeader("platform", "2")
if (UserManager.tokenResult != null) {
EasyConfig.getInstance()
.addHeader("token", UserManager.tokenResult?.getToken())
refreshToken()
}
// }
}
}
第一次启动时,控制台没有任何打印,

同时,也获取不到clientId,第二次启动时就正常了,控制台也能正常打印出检查日志,看起来像是第一次sdk哪里报错了
