80,350
社区成员
发帖
与我相关
我的任务
分享
hxSDKHelper.onInit(applicationContext);
public synchronized boolean onInit(Context context){
if(sdkInited){
return true;
}
appContext = context;
// create HX SDK model
hxModel = createModel();
// create a defalut HX SDK model in case subclass did not provide the model
if(hxModel == null){
hxModel = new DefaultHXSDKModel(appContext);
}
int pid = android.os.Process.myPid();
String processAppName = getAppName(pid);
String str=hxModel.getAppProcessName();
EMLog.d(TAG, "process app name : " + processAppName);
// 如果app启用了远程的service,此application:onCreate会被调用2次
// 为了防止环信SDK被初始化2次,加此判断会保证SDK被初始化1次
// 默认的app会在以包名为默认的process name下运行,如果查到的process name不是app的process name就立即返回
if (processAppName == null || !processAppName.equalsIgnoreCase(processAppName)) {
EMLog.e(TAG, "enter the service process!");
// 则此application::onCreate 是被service 调用的,直接返回
return false;
}
String appkey = HelpDeskPreferenceUtils.getInstance(context).getSettingCustomerAppkey();
EMChat.getInstance().setAppkey(appkey);
// 初始化环信SDK,一定要先调用init()
EMChat.getInstance().init(context);
if(hxModel.isDebugMode()){
// set debug mode in development process
EMChat.getInstance().setDebugMode(true);
}
Log.d(TAG, "initialize EMChat SDK");
initHXOptions();
initListener();
sdkInited = true;
return true;
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
参考链接如下:http://www.itdadao.com/articles/c15a298843p0.html